OSDN Git Service

2003-08-20 Graydon Hoare <graydon@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-08-20  Jason Merrill  <jason@redhat.com>
2
3         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
4         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code, 
5         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
6         * dojump.c (do_jump): Likewise.
7         * fold-const.c (operand_equal_p, fold): Likewise.
8         (tree_expr_nonnegative_p): Likewise.
9
10         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
11         TYPE_USER_ALIGN for FIELD_DECLs.
12         
13         * attribs.c (decl_attributes): Rebuild the function pointer type after
14         changing the target type.
15         * tree.c (get_qualified_type): Also check that the attributes match.
16
17 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
18
19         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
20         * objc/config-lang.in (stagestuff): ... to here.
21
22 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
23
24         PR c++/11946
25         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
26         NOP_EXPR) when necessary.
27         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
28         types with precisions other than those given by native machine
29         modes.
30
31 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
32
33         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
34         because some macro is defined.
35
36         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
37         options.
38         * config/i386/darwin.h (ASM_SPEC): New.
39         (SUBTARGET_EXTRA_SPECS): New.
40         * config/rs6000/darwin.h (ASM_SPEC): New.
41         (SUBTARGET_EXTRA_SPECS): New.
42         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
43         a cross-compiler between two different processors on Darwin.
44         * configure: Regenerate.
45
46 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
47
48         * builtins.c: Fix comment typos.
49         * c-common.c: Likewise.
50         * c-decl.c: Likewise.
51         * c-pretty-print.c: Likewise.
52         * cfgbuild.c: Likewise.
53         * cfglayout.c: Likewise.
54         * cfgloopanal.c: Likewise.
55         * cgraphunit.c: Likewise.
56         * cppfiles.c: Likewise.
57         * dwarfout.c: Likewise.
58         * expr.c: Likewise.
59         * fold-const.c: Likewise.
60         * gcse.c: Likewise.
61         * ggc-page.c: Likewise.
62         * haifa-sched.c: Likewise.
63         * pretty-print.c: Likewise.
64         * tree.c: Likewise.
65         * tree.h: Likewise.
66         * value-prof.c: Likewise.
67
68 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
69
70         * c-decl.c: Follow spelling conventions.
71         * cppfiles.c: Likewise.
72
73 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
74
75         * c-common.c: Fix comment formatting.
76         * c-common.h: Likewise.
77         * c-decl.c: Likewise.
78         * cppinit.c: Likewise.
79         * cpplib.h: Likewise.
80         * emit-rtl.c: Likewise.
81         * input.h: Likewise.
82         * line-map.h: Likewise.
83         * opts.c: Likewise.
84         * opts.h: Likewise.
85         * simplify-rtx.c: Likewise.
86
87 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
88
89         * unwind-c.c: Add libgcc-style exception.
90         * unwind-dw2.c: Likewise.
91         * unwind-pe.h: Likewise.
92         * unwind-sjlj.c: Likewise.
93         * unwind.inc: Likewise.
94
95 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
96
97         PR c/5582 PR c++/10538
98         * langhooks-def.h (lhd_decl_uninit): Declare.
99         (LANG_HOOKS_DECL_UNINIT): New macro.
100         (LANG_HOOKS_INITIALIZER): Adjust.
101         * langhooks.h (struct lang_hooks): Add new field
102         decl_uninit.
103         * langhooks.c (lhd_decl_uninit): Define.
104         * c-common.c (c_decl_uninit_1): New function.
105         (c_decl_uninit): New function.
106         (warn_init_self): Define.
107         * c-common.h (c_decl_uninit): Declare.
108         (warn_init_self): Declare.
109         * c.opt: Introduce -Winit-self.
110         * c-opts.c (c_common_handle_options): Set warn_init_self.
111         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
112         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
113         * function.c (uninitialized_vars_warning): Call the language hook.
114         * doc/invoke.texi: Document -Winit-self.
115
116 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
117
118         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
119         to use better predicates and constraints.  Define new
120         instruction to handle "trap_if" with DI-mode arguments.
121         (conditional_trap): FAIL if trap code is not 0.
122
123 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
124
125         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
126         strstr with $pb to a strcompare with "<pic base>"
127         (ix86_output_addr_diff_elt): Output the real pic base.
128
129 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
130
131         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
132         (LANG_HOOKS_INITIALIZER): Correct.
133         * c-lang.c: Likewise.
134
135 2003-08-19  Jan Hubicka  <jh@suse.cz>
136
137         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
138         (cgraph_varpool_mark_needed_node): Likewise.
139         * cgraph.h (notice_global_symbol): Declare
140         * varasm.c (notice_global_symbol): Break out from ...
141         (assemble_start_function): ... here; update for variables.
142         (assemble_variable): Use notice_global_symbol.
143
144 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
145
146         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
147         expect SFmode and DFmode arguments to be passed in FPRs,
148         regardless of the underlying type.
149
150 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
151
152         PR target/11924
153         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
154         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
155
156 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
157
158         PR c/11207
159         * c-typeck.c (set_init_index): Check for negative index.
160
161 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
162
163         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
164         call0 ABI.
165         * config/xtensa/crtn.asm (_init, _fini): Likewise.
166         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
167         __umodsi3, __modsi3): Likewise.
168         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
169         $(INCLUDES).
170
171 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
172
173         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
174
175 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
176
177         * config/mips/mips.md: Quote C code in braces.  Remove use of
178         fake const0_rtx operands.  Remove double backslashes.  Use \;.
179         Remove workarounds for bogus warnings.
180
181 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
182
183         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
184         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
185         rather than TARGET_MIPS4300.
186         (mulsf3_internal, mulsf3_r4300): Likewise.
187
188 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
189
190         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
191
192 2003-08-17  Roger Sayle  <roger@eyesopen.com>
193
194         * simplify-rtx.c (associative_constant_p): New function to test
195         whether an RTX expression is an immediate constant.
196         (simplify_associative_operation): New function to perform some
197         reassociation optimizations of associative binary expressions.
198         (simplify_binary_operation): Use simplify_associative_operation
199         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
200         Floating point expressions are only reassociated when unsafe
201         math optimizations are permitted.
202
203 2003-08-17  Andreas Jaeger  <aj@suse.de>
204
205         * config/alpha/alpha.md: Remove usage of PARAMS.
206
207         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
208         * config/i386/i386-interix.h: Likewise.
209         * config/i386/winnt.c: Likewise.
210         * config/i386/cygming.h: Likewise.
211         * config/i386/cygwin2.c: Likewise.
212         * config/darwin.c: Likewise.
213         * config/darwin-c.c: Likewise.
214         * config/darwin-protos.h: Likewise.
215         * config/darwin.h: Likewise.
216         * config/s390/s390-protos.h: Likewise.
217         * config/s390/s390.c: Likewise.
218         * config/ia64/ia64.c: Likewse
219         * config/ia64/ia64-protos.h: Likewise.
220         * config/ia64/ia64-c.c: Likewise.
221
222 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
223
224         * config/sparc/sparc.c: Convert to ISO C.
225
226         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
227         * config/sparc/sparc.c: Likewise.
228
229 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
230
231         PR c++/11512
232         * stmt.c (expand_expr_stmt_value): Don't warn about any void
233         typed expression.
234
235 2003-08-16  Jan Hubicka  <jh@suse.cz>
236
237         * i386.c (ix86_fntype_regparm): Rename from ...
238         (ix86_function_regparm): ... this one; add fastcall and local
239         functions.
240         (ix86_function_ok_for_sibcall): Update.
241         (ix86_return_pops_args): Likewise.
242         (init_cumulative_args): Likewise.
243         (x86_can_output_mi_thunk): Likewise.
244         (function_arg): Fix formating.
245         (x86_this_parameter): Fix fastcall.
246         (x86_output_mi_thunk): Likewise.
247
248         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
249         body as reachable; mark nested functions as needed too.
250         (dump_cgraph): Do not output global.calls.
251         * cgraph.h (cgraph_global_info): Kill.
252         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
253         (record_call_1): Speedup.
254         (cgraph_analyze_function): Break out from ...; compute inlining
255         parameters.
256         (cgraph_finalize_compilation_unit): ... here.
257         (cgraph_mark_inline): Kill computation of calls.
258         (cgraph_decide_inlining): Do not compute most of initial values.
259
260 2003-08-14  Roger Sayle  <roger@eyesopen.com>
261
262         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
263         to negate if either operand is easy to negate, if we don't care
264         about sign-dependent rounding.
265         (negate_expr): Make the logic to negate a REAL_CST explicit.
266         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
267         that's easy to negate, if we don't honor sign-dependent rounding.
268         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
269         negate, and the symmetric A * -B as -A * B if A is easy to negate.
270         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
271         -C/D if B and C are cheap to negate.  Add an explicit rule to
272         optimize X/-1.0 as -X when we don't care about signaling NaNs.
273
274 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
275
276         * Makefile.in (tm_file): Rename tm_include_list.
277         (tm_p_file): Rename tm_p_include_list.
278         (build_xm_file): Rename build_xm_include_list.
279         (host_xm_file): Rename host_xm_include_list.
280         (xm_file): Rename xm_include_list.
281         (xm_file_list): Add to be substituted.
282         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
283         Update to match.
284         (bt-load.o): Add missing dependency on $(TM_H).
285         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
286         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
287         build_xm_file, generate both *_file_list and *_include_list
288         values from it.  (xm_file_list was formerly not being generated.)
289         In *_include_list, prefix the names of all headers found in
290         $(srcdir)/config with config/.  In each loop, consider only
291         the special case files that can actually appear in that list.
292         AC_SUBST all *_file_list and all *_include_list variables; do
293         not AC_SUBST the plain *_file variables.
294         * configure: Regenerate.
295
296 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
297
298         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
299
300 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
301
302         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
303         direct calls.
304         (attr_length_call): Include it here.  Improve length estimate for
305         local calls.
306         (output_call): Use targetm.binds_local_p.
307
308 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
309
310         * builtins.c (CASE_MATHFN): New helper macro.
311         (mathfn_built_in): Simplify and sort.
312
313         * protoize.c (substr): Delete, callers changed to `strstr'.
314
315 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
316
317         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
318         * config/iq2000/xm-iq2000.h: Delete file.
319
320 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
321
322         * gengtype.c (walk_type): Process a subobject before processing
323         the pointer that points to the subobject.
324
325 2003-08-13  Per Bothner  <pbothner@apple.com>
326
327         * regclass.c (init_reg_modes):  Make non-static.
328         Rename to init_reg_modes_once per new naming convention.
329         (init_regs):  Don't call init_reg_modes here.
330         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
331         * rtl.h (init_reg_modes_once):  New declaration.
332         * toplev.c (backend_init):  Call init_regs after init_emit_once.
333
334 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
335
336         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
337         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
338
339 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
340
341         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
342         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
343
344 2003-08-13  Dale Johannesen  <dalej@apple.com>
345
346         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
347         handling of decrement-and-branch farther than 32 bits.
348
349 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
350
351         * configure.in (make_compare_target): Move test to ...
352         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
353         * configure: Regenerate.
354
355 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
356
357         * config/mips/iris6.h: Convert to C90 prototypes.
358         * config/mips/irix6-libc-compat.c: Likewise.
359         * config/mips/mips-protos.h: Likewise.
360         * config/mips/mips.c: Likewise.
361
362 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
363
364         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
365         for selected machines.  Comment heavily.
366         fixinc/fixincl.x: Rebuild.
367         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
368
369 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
370
371         * config/mips/mips.h: Tweak various comments.
372         * config/mips/mips.c: Likewise.
373
374 2003-08-11  James E Wilson  <wilson@tuliptree.org>
375
376         PR optimization/11319
377         PR target/10021
378         * alias.c (find_base_value, case REG): Return 0 not src if no base
379         found.
380
381 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
382
383         * gcse.c (gmalloc): Fix last change.
384
385 2003-08-11  Roger Sayle  <roger@eyesopen.com>
386
387         * simplify-rtx.c (simplify_binary_operation): Replace calls to
388         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
389         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
390         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
391
392 2003-08-11  Roger Sayle  <roger@eyesopen.com>
393
394         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
395         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
396         typecode for an ABS_EXPR.
397
398         * doc/c-tree.texi: Document ABS_EXPR.
399
400 2003-08-11  Roger Sayle  <roger@eyesopen.com>
401
402         * fold-const.c (fold): Optimize any associative floating point
403         operator with -funsafe-math-optimizations, not just MULT_EXPR.
404
405 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
406
407         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
408         information in SHmedia case too.
409         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
410         Likewise.
411         (__set_fpscr): Use an access via GOT for PIC case.
412
413 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
414
415         * configure.in (intermodule): Make switch test more portable.
416         * configure: Regenerate.
417
418 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
419
420         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
421         (restrap): Likewise.
422
423 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
424
425         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
426         (grealloc): Size argument is a size_t.
427         (gcalloc): New function.  Use throughout in lieu of
428         gmalloc/memset.
429
430         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
431         xmalloc/memset.
432         * config/ia64/ia64.c (ia64_reorg): Likewise.
433         * conflict.c (conflict_graph_new): Likewise.
434         * fixinc/fixincl.c (run_compiles): Likewise.
435         * genattrtab.c (optimize_attrs): Likewise.
436         * genrecog.c (new_decision): Likewise.
437         * haifa-sched.c (schedule_block): Likewise.
438         * hashtable.c (ht_create): Likewise.
439
440 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
441
442         * config/xtensa/lib2funcs.S: Fix whitespace.
443         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
444         syntax where appropriate.  Remove unnecessary backslash escapes.
445         Reformat comments and fix some code formatting.
446         (extendqisi2): Rearrange conditional.
447         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
448         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
449         of fatal_insn.
450
451 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
452
453         * config/mips/mips.c: Various formatting fixes.
454         (override_options): Resync -mtune handling with gas.
455         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
456         * config/mips/mips.h: More formatting fixes.
457         (mips_abi): Move declaration.
458         * config/mips/mips.md (exception_receiver): Add mode to
459         unspec_volatile.
460
461 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
462
463         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
464         evsplatfi here.
465         (bdesc_1arg): Remove evsplati and evsplatfi.
466
467 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
468
469         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
470         into account.
471
472 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
473
474         * builtins.c (expand_builtin_strcat): Optimize constant strings.
475
476 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
477
478         * pretty-print.c (pp_base_indent): Rename from pp_indent.
479         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
480         (struct c_pretty_print_info): Add more fields.
481         (pp_c_left_paren): Move to c-pretty-print.c.
482         (pp_c_right_paren): Likewise.
483         (pp_c_left_brace): Likewise.
484         (pp_c_right_brace): Likewise.
485         (pp_c_left_bracket): Likewise.
486         (pp_c_right_bracket): Likewise.
487         (pp_c_declarator): Declare.
488         (pp_c_direct_declarator): Likewise.
489         (pp_c_specifier_qualifier_list): Likewise.
490         (pp_c_type_id): Likewise.
491         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
492         (pp_c_type_qualifier_list): New.
493         (pp_c_pointer): Likewise.
494         (pp_c_parameter_type_list): Likewise.
495         (pp_c_function_definition): Likewise.
496         (pp_c_id_expression): Likewise.
497         (pp_c_simple_type_specifier): Tidy.
498         (pp_c_unary_expression): Likewise.
499         (pp_c_expression): Likewise.
500         (pp_c_pretty_printer_init): Likewise.
501         (pp_c_specifier_qualifier_list): Rework..
502         (pp_c_abstract_declarator): Likewise.
503         (pp_c_postfix_expression): Likewise.
504         (pp_c_primary_expression): Likewise.
505         (pp_c_cast_expression): Likewise.
506         (pp_c_direct_abstract_declarator): Likewise.
507         (pp_c_storage_class_specifier): Likewise.
508         (pp_c_function_specifier): Likewise.
509         (pp_c_declaration_specifiers): Likewise.
510         (pp_c_direct_declarator): Likewise.
511         (pp_c_declarator): Likewise.
512         (pp_c_declaration): Likewise.
513         (pp_c_statement): Likewise.
514         (pp_c_integer_constant): Rename from pp_c_integer_literal.
515         (pp_c_character_constant): Rename from pp_c_character_literal.
516         (pp_c_bool_constant): Rename from pp_c_bool_literal.
517         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
518         (pp_c_floating_constant): Rename from pp_c_real_literal.
519         (pp_c_constant): Rename from pp_c_literal.
520         * c-lang.c: Include diagnostic.h and c-pretty-print.h
521         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
522         (c_initialize_diagnostics): New.
523         * Makefile.in (c-lang.o): Update dependency.
524
525 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
526
527         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
528
529 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
530
531         * config/mips/mips.c (mips_no_mips16_string): Remove.
532         (override_options): Don't handle -mips16 as part of -mipsN.
533         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
534         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
535         (TARGET_OPTIONS): Remove -mno-mips16.
536
537 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
538
539         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
540         (coprocessor2_operand): Likewise.
541         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
542         (lookup_name): Remove declaration.
543         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
544         (mips16, mips_abicalls): Remove.
545         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
546         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
547         (coprocessor_operand, coprocessor2_operand): Remove.
548         (override_options): Don't set mips16 or mips_abicalls.
549         (print_operand): Don't expect SIGN_EXTEND operands.
550         (mips_secondary_reload_class): Likewise.
551         (mips_output_conditional_branch): Remove disabled long-branch code.
552         * config/mips/mips.h (call_used_regs): Remove declaration.
553         (may_call_alloca): Likewise.
554         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
555         (mips_abicalls, mips16): Remove declarations.
556         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
557         (CC1_SPEC): Remove outdated comment.
558         (MIPS_VERSION, MACHINE_TYPE): Remove.
559         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
560         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
561         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
562         (PUSH_ROUNDING): Likewise.
563         (ASSEMBLER_SCRATCH_REGNUM): Remove.
564         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
565         and mips16 with TARGET_MIPS16.
566
567 2003-08-09  Per Bothner  <pbothner@apple.com>
568
569         * cppinit.c (cpp_read_main_file):  Split out source-independent
570         initialization to separate function ...
571         (cpp_post_options):  New function.
572         * cppfiles.c (cpp_stack_file):  Rename public name to ...
573         (_cpp_stack_file):  New internal function name.
574         * cpplib.h:  Update accordingly.
575         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
576         (cpp_read_main_file):  Don't initialize line here.
577         * c-opts.c (c_common_post_options):  Call cpp_post_options.
578         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
579         * fix-header.c (read_scan_file):  Call cpp_post_options.
580
581 2003-08-09  Per Bothner  <per@bothner.com>
582
583         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
584
585 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
586
587         * pa.c (pa_asm_output_mi_thunk): Fix typo.
588
589 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
590
591         PR preprocessor/11839
592         * cppfiles.c (open_file): Handle ENOTDIR.
593
594 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
595
596         PR target/11699
597         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
598
599 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
600
601         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
602         source/destination is not a register operand.
603
604 2003-08-08  Richard Henderson  <rth@redhat.com>
605
606         PR target/11535
607         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
608         RETURN_ADDRESS_POINTER_REGNUM.
609         (ia64_expand_prologue): Don't frob it.
610         (ia64_output_function_epilogue): Likewise.
611         (ia64_return_addr_rtx): New.
612         (ia64_split_return_addr_rtx): New.
613         * config/ia64/ia64-protos.h: Update.
614         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
615         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
616         (GENERAL_REGNO_P): Don't check it.
617         (AR_*_REGNUM): Renumber.
618         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
619         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
620         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
621         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
622         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
623         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
624         (movdi_ret_addr): New.
625
626 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
627
628         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
629
630 2003-08-08  Roger Sayle  <roger@eyesopen.com>
631
632         * tree.h (get_identifier) Define a macro form of get_identifier
633         that calls get_identifier_with_length when the string is constant.
634         (get_identifier_with_length): Change type of second argument to
635         size_t in prototype.
636         * stringpool.c (get_identifier): Undefine the macro before giving
637         the function definition.
638         (get_identifier_with_length): Change  type of second argument to
639         size_t in function definition.
640         * hashtable.c (calc_hash): Change type of second argument to size_t.
641         (ht_lookup): Change type of third argument to size_t.  Reorganize
642         to speed-up the cases where the hash table slot is empty, or the
643         first probe matches (i.e. there isn't a collision).
644         * hashtable.h (ht_lookup): Adjust function prototype.
645
646 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
647
648         PR target/9697
649         PR target/11777
650         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
651
652 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
653
654         * common.opt: Add debug switches.
655         * flags.h (use_gnu_debug_info_extensions): Boolify.
656         * opts.c (write_symbols, debug_info_level,
657         use_gnu_debug_info_extensions): Move from toplev.c.
658         (set_debug_level): New.
659         (common_handle_options): Handle debug switches.
660         (print_help): Display target options directly.
661         * toplev.c (debug_hooks): Don't initialize.
662         (write_symbols, debug_info_level,
663         use_gnu_debug_info_extensions): Move to opts.c.
664         (debug_args, display_help, decode_g_option): Remove.
665         (process_options): Set no debug if level zero here,
666         and no-debug-hooks.  Error here if impossible debug format selected.
667         * toplev.h (display_help, decode_g_option): Remove.
668
669 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
670
671         * tree.c (get_file_function_name_long): Fix size of alloca() area.
672
673 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
674
675         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
676         and gcc_cv_prog_cmp_skip.
677         * configure: Regenerate.
678
679 2003-08-08  Stan Cox  <scox@redhat.com>
680
681         * config/iq2000: New port.
682         * config.gcc (iq2000-*-elf): Added.
683         * doc/install.texi (Specific):  Add iq2000 description.
684
685 2003-08-08  Andreas Schwab  <schwab@suse.de>
686
687         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
688         and insert missing empty argument.
689         * configure: Regenerate.
690
691 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
692
693         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
694         (attr_length_millicode_call): Likewise.
695         (attr_length_call): Likewise.  Revise some maximum insn lengths.
696         (attr_length_indirect_call): Likewise.
697         (output_call): Fix thinko that added extra nop.
698         * pa.h (IN_NAMED_SECTION_P): Define.
699
700         PR c++/11712
701         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
702         __STDC_EXT__ when using C++ dialect.
703
704 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
705
706         * sh.c (calc_live_regs): If the return address pointer is live,
707         force pr live.
708         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
709         for saves / restores.
710         (sh_expand_epilogue): If sh_media_register_for_return returns a
711         register number, flag the instructions that restores PR_MEDIA_REG
712         as possibly dead.
713         Remove dead update of offset.
714         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
715         we can use the result of get_hard_reg_initial_val.
716         * sh.md (UNSPEC_RA): New constant.
717         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
718         (load_ra).  Handle UNSPEC_RA.
719         (sibcall_media): Use PR_MEDIA_REG.
720
721         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
722         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
723         needs saving on SHmedia.
724
725 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
726
727         * config/s390/s390.md: Replace all occurrences of \\t with \t.
728
729 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
730
731         * local-alloc.c (combine_regs): Fix comment typo.
732
733 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
734
735         * c-decl.c (builtin_decls): Replace with first_builtin_decl
736         and last_builtin_decl.
737         (c_init_decl_processing): Initialize both.
738         (c_reset_state): Iterate from first_builtin_decl to
739         last_builtin_decl inclusive to reintroduce builtins.
740
741 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
742
743         * doc/extend.texi (Function Attributes): Document the IA-64 version
744         of the "model" attribute.
745
746         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
747         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
748         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
749
750         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
751         (ia64_encode_section_info): Likewise.
752         (ia64_attribute_table): Add "model" attribute.
753         (TARGET_ENCODE_SECTION_INFO): Define.
754         (small_addr_symbolic_operand): New function.
755         (got_symbolic_operand): Return 0 for a symbolref to an object
756         in the small address area.
757         (enum ia64_addr_area): New type.
758         (small_ident1): New variable.
759         (small_ident2): Likewise.
760         (init_idents): New function.
761         (ia64_get_addr_area): Likewise.
762         (ia64_encode_addr_area): Likewise.
763         (ia64_encode_section_info): Likewise.
764         (ia64_expand_load_address): For symbolic references to objects in
765         the small-address-area, load the address via gen_rtx_SET() (which,
766         eventually, will expand into "addl").
767
768 2003-08-06  Per Bothner  <pbothner@apple.com>
769
770         * line-map.h (fileline):  New typedef.
771         (struct line_map, linemap_add, linemap_lookup):  Use it.
772         * input.h (struct location_s):  Comment notes that long-term we want
773         to replace it by fileline.
774
775 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
776
777         Fix SHcompact exception handling:
778         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
779         by the prologue, return a MEM with return_address_pointer_rtx
780         as address.
781         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
782         (RETURN_ADDR_OFFSET): Don't define.
783         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
784         registers that are visible in compact mode.  Show that SHmedia
785         registers still exist in compact mode, even if there are not
786         readily accessible.
787         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
788         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
789         and DW_EH_PE_pcrel for pic data.
790         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
791         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
792         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
793         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
794         * sh.md (movsi_media-1): New splitter.
795
796 2003-08-06  Graeme Peterson <gp@qnx.com>
797
798         * config/i386/nto.h: New.
799         * config/i386/t-nto: New.
800         * config.gcc (i[34567]86-*-nto-qnx*): New.
801
802 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
803
804         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
805
806 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
807
808         * calls.c (load_register_parameters): Arrange for call_fusage to
809         report the whole register as used when shifting to the msb.
810
811 2003-08-05  Roger Sayle  <roger@eyesopen.com>
812
813         * builtins.c (expand_builtin): When not optimizing, call the library
814         function for all builtins that have library functions (except alloca).
815
816 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
817
818         * c.opt: Introduce -fworking-directory.
819         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
820         * c-common.h (flag_working_directory): Declare.
821         * c-common.c (flag_working_directory): Define.
822         * c-opts.c (c_common_handle_options): Set it.
823         (sanitize_cpp_opts): Set...
824         * cpplib.h (struct cpp_options): ... working_directory option.
825         (struct cpp_callbacks): Add dir_change.
826         * cppinit.c (read_original_filename): Call...
827         (read_original_directory): New.  Look for # 1 "directory//"
828         and process it.
829         (cpp_read_main_file): Call dir_change callback if working_directory
830         option is set.
831         * gcc.c (cpp_unique_options): Pass -g*.
832         * c-lex.c (cb_dir_change): New.
833         (init_c_lex): Set dir_change callback.
834         * toplev.c (src_pwd): New static variable.
835         (set_src_pwd, get_src_pwd): New functions.
836         * toplev.h (get_src_pwd, set_src_pwd): Declare.
837         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
838         * dwarf2out.c (gen_compile_unit_die): Likewise.
839         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
840
841 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
842
843         * pretty-print.h (pp_set_line_maximum_length): Make macro.
844         (pp_set_prefix): Likewise.
845         (pp_destroy_prefix): Likewise.
846         (pp_remaining_character_count_for_line): Likewise.
847         (pp_clear_output_area): Likewise.
848         (pp_formatted_text): Likewise.
849         (pp_last_position_in_text): Likewise.
850         (pp_emit_prefix): Likewise.
851         (pp_append_text): Likewise.
852         (pp_flush): Likewise.
853         (pp_format_text): Likewise.
854         (pp_format_verbatim): Likewise.
855         (pp_tree_identifier): Tidy.
856         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
857         (pp_base_format_verbatim): Rename from pp_format_verbatim.
858         (pp_base_flush): Rename from pp_flush.
859         (pp_base_set_line_maximum_length): Rename from
860         pp_set_line_maximum_length.
861         (pp_base_clear_output_area): Rename from pp_clear_output_area.
862         (pp_base_set_prefix): Rename from pp_set_prefix.
863         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
864         (pp_base_emit_prefix): Rename from pp_emit_prefix.
865         (pp_base_append_text): Rename from pp_append_text.
866         (pp_base_formatted_text): Rename from pp_formatted_text.
867         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
868         (pp_base_remaining_character_count_for_line): Rename from
869         pp_remaining_character_count_for_line.
870         * diagnostic.h (diagnostic_format_decoder): Tidy.
871         (diagnostic_flush_buffer): Likewise.
872         * c-pretty-print.h: (pp_c_string_literal): Declare.
873         (pp_c_real_literal): Likewise.
874         (pp_c_integer_literal): Likewise.
875         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
876         pp_identifier.
877         (pp_c_character_literal): Tidy.
878         (pp_c_string_literal): Make public.
879         (pp_c_bool_literal): Likewise.
880         (pp_c_integer_literal): Likewise.
881         (pp_c_real_literal): Likewise.
882
883         * Makefile.in (C_PRETTY_PRINT_H): New variable.
884         (c-pretty-print.o): Update dependence.
885
886 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
887
888         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
889         ".set nomacro" state.
890         (fix_truncsfsi2_macro): Likewise.
891
892 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
893
894         * tree.h (DID_INLINE_FUNC): Remove macro.
895         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
896         add tree check for FUNCTION_DECL.
897         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
898         (struct tree_decl): Rename inlined_function_flag to
899         declared_inline_flag.
900         * c-common.h (c_lang_decl): Remove.
901         (DECL_ESTIMATED_INSNS): Remove.
902         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
903         (DECL_DECLARED_INLINE_P): Remove.
904         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
905         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
906         (finish_function): Make uninlinable a bool.  Fixup call to
907         tree_inlinable_function_p() and fix some code style issues.
908         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
909         * cgraph.c (dump_cgraph): Likewise.
910         * cgraphunit.c (cgraph_decide_inlining): Likewise
911         (cgraph_finalize_compilation_unit): Likewise.
912         Also update call to tree_inlinable_function_p().
913         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
914         look at DECL_DECLARED_INLINE and reverse logic.
915         * print-tree.c (print_node): Likewise.
916         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
917         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
918         prototype.
919         * tree-inline.c (inlinable_function_p): Split up in this function to
920         check for basic inlining inhibiting conditions, and new
921         limits_allow_inlining() function.  Warn if inlining is impossible
922         because the inline candidate calls alloca or uses sjlj exceptions.
923         (limits_allow_inlining): this new function to check if the inlining
924         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
925         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
926         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
927         Update prototypes.
928         (tree_inlinable_function_p): Make a bool.  Update call to
929         inlinable_function_p
930         (expand_call_inline): Use limits_allow_inlining() when not in
931         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
932         instead see if the function was declared `inline'.
933
934 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
935
936         * gcse.c (try_replace_reg): Fix updating of note.
937
938 2003-08-04  Roger Sayle  <roger@eyesopen.com>
939
940         PR middle-end/11771
941         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
942         logic in negate_expr, i.e. we don't invert (A-B) for floating
943         point types unless flag_unsafe_math_optimizations.
944
945 2003-08-04  Roger Sayle  <roger@eyesopen.com>
946
947         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
948         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
949         for floating point expressions with -ffast-math.
950         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
951         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
952
953 2003-08-04  Roger Sayle  <roger@eyesopen.com>
954
955         * c-common.c (flag_noniso_default_format_attributes): Delete.
956         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
957         (c_attrs_initialized): Delete.
958         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
959         always call c_init_attributes.
960         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
961         set c_attrs_initialized when done.
962         (c_common_insert_default_attributes): Delete.
963         * c-common.h (flag_noniso_default_format_attributes): Delete.
964         (c_coomon_insert_default_attributes): Delete prototype.
965         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
966         flag_noniso_default_format_attributes.
967
968         * c-decl.c (c_insert_default_attributes): Delete.
969         * c-tree.h (c_insert_default_attributes): Delete prototype.
970
971         * attribs.c (decl_attributes): Don't call insert_default_attributes
972         langhook.  Update function description comment.
973         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
974         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
975         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
976         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
977
978         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
979         define.
980
981 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
982
983         * config/mips/mips.c (override_options): Disable -G on targets that
984         have no .section support.
985         (mips_select_section): Use default_select_section for such targets.
986
987 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
988
989         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
990         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
991         * fixinc/fixincl.x: Rebuild.
992         * fixinc/tests/base/regexp.h: New test.
993
994 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
995
996         * c-ppoutput.c (cb_line_change): Don't skip line changing while
997         parsing macro arguments in the top-level context.
998
999 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
1000
1001         * config.in: Remove HAVE_LSTAT.
1002         * configure, configure.in: Don't test for lstat.
1003
1004 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1005
1006         * opts.c (decode_options): Do language-specific initialization for
1007         the global diagnostic context.
1008         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
1009         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
1010         (LANG_HOOKS_INITIALIZER): Adjust.
1011         * langhooks.h (struct lang_hooks): Add new field
1012         initialize_diagnostics.
1013         * langhooks.c (lhd_initialize_diagnostics): Define.
1014
1015 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1016
1017         * pretty-print.h:   Adjust macro definitions.
1018         * pretty-print.c (pp_newline): Rename to pp_base_newline.
1019         (pp_character): Rename to pp_base_character.
1020         (pp_string): Rename to pp_base_string.
1021         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
1022         (pp_newline):  Likewise.  Adjust.
1023         (pp_c_char): Adjust.
1024
1025 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1026
1027         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
1028         BUILT_IN_LLABS): Move to miscellaneous section.
1029
1030 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1031
1032         PR preprocessor/11534
1033         * cppexp.c (parse_defined): Warn only if -pedantic.
1034
1035 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1036
1037         * cppfiles.c (stack_file): Use file path.
1038
1039 2003-08-02  Roger Sayle  <roger@eyesopen.com>
1040
1041         * builtin-types.def (BT_SSIZE): New primitive type.
1042         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
1043         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
1044         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
1045         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
1046         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
1047         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
1048         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
1049         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
1050         few functions that define default attributes using it.
1051         * c-common.c (c_common_insert_default_attributes): Do nothing.
1052
1053         * doc/extend.texi: Document these "new" builtins.
1054
1055 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1056
1057         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
1058         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
1059         when -mieee-fp set and -shared not set.
1060         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
1061
1062 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1063
1064         * cppfiles.c (struct _cpp_file): Rename once_only_next to
1065         next_file.  Remove import and pragma_once, add once_only.
1066         (find_file): Add new file structures to the all_files list.
1067         (should_stack_file): Mark #import-ed files once-only, and
1068         don't stack them if the file has already been stacked.
1069         (_cp_mark_file_once_only): Simplify.
1070         * cpphash.h (struct cpp_reader): Rename once_only_files
1071         to all_files.  Rename saw_pragma_once to seen_once_only.
1072         (_cpp_mark_file_once_only): Update prototype.
1073         * cpplib.c (do_pragma_once): Update.
1074
1075 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1076
1077         * cppfiles.c (ENOTDIR): Remove.
1078         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
1079         other than ENOENT here.
1080         (once_only_file_p): Rename should_stack_file.
1081         (find_file, open_file_failed, read_file_guts): Report errors
1082         with full path name.
1083         (read_file): Move pch handling to should_stack_file.
1084         (should_stack_file): Handle PCH and once-only issues, and
1085         reading the file.
1086         (stack_file): Don't do file reads.
1087
1088 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1089
1090         * libgcov.c (gcov_exit): Cleanup and fix.
1091         * profile.c (compute_value_histograms): Don't try to read profiles
1092         that are not present.
1093
1094 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1095
1096         * builtins.def: Categorize.
1097
1098         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1099         Mind fp rounding.
1100         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
1101
1102 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
1103
1104         * config.gcc: Enable posix threads by default on darwin.
1105
1106 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
1107
1108         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
1109         even if nehedges1 is 0.
1110
1111 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1112
1113         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
1114         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
1115         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
1116         and defintions.
1117
1118         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
1119         * fixinc/fixincl.x: Regenerate.
1120         * fixinc/tests/base/math.h: Regenerate to match test_text change.
1121
1122 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1123
1124         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
1125
1126 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1127
1128         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
1129         for accesses to exc_ptr.
1130
1131 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
1132
1133         * doc/sourcebuild.texi (Front End Directory): Don't make references
1134         to libsubdir, it's not part of the interface to frontends.
1135         * doc/install.texi (Configuration): Help users read faster by saying
1136         that GCC's configure options are the standard autoconf ones.
1137         Mention --libdir.  Update the default rules for finding the
1138         assembler.  Don't use libsubdir since we haven't said what it means.
1139         (Specific): In the Solaris 7 notes, update the place to put the
1140         assembler.
1141         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
1142         * doc/cpp.texi (Search Path): Actually, the search path
1143         depends on libdir, which can relocate with cpp.
1144         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
1145         now a private interface between the Makefile and the driver.
1146
1147 2003-08-01  Richard Henderson  <rth@redhat.com>
1148
1149         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
1150
1151         * varasm.c (lookup_constant_def): New function.
1152         * rtl.h (lookup_constant_def): Declare it.
1153         * dwarf2out.c (loc_descriptor_from_tree): Use it.
1154         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
1155
1156 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
1157
1158         * c-decl.c (gettags, pushdecl_function_level): Delete.
1159         (last_function_parm_vars): Rename last_function_parm_others.
1160         (current_function_parm_vars): Rename current_function_parm_others.
1161         (struct c_scope): Rewrite comment explaining this data structure.
1162         Add names_last, blocks_last, parms_last fields.  Rename
1163         incomplete_list to incomplete.
1164         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
1165         (poplevel): Ignore second argument.  No need to nreverse
1166         anything.  Restructure such that each list is processed
1167         exactly once.  Use 'const location_t *locus' syntactic sugar
1168         variable where useful.  Issue unused variable warnings
1169         ourselves, do not rely on function.c.
1170         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
1171         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
1172         (implicitly_declare): decl cannot be error_mark_node.
1173         (undeclared_variable): Manipulate scope structure directly.
1174         (c_make_fname_decl): Likewise.
1175         (getdecls, c_init_decl_processing): Fix comment.
1176         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
1177         for 'last' variable.
1178         (grokparms): No need to nreverse parms list.
1179         (store_parm_decls_newstyle): Set up the parms_last and
1180         names_last fields of the new scope too.
1181         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
1182         on parms to begin with; check this under ENABLE_CHECKING.  Set
1183         up parms_last.
1184         (check_for_loop_decls): Refer directly to current_scope->tags.
1185         Use consistent quote style in diagnostics.
1186         (c_write_global_declarations): The names list is not backward.
1187
1188         * c-common.h: Don't prototype gettags.
1189         * c-parse.in: Call poplevel with second argument 0 always.
1190
1191 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1192
1193         * builtins.def: Resort builtins.
1194
1195 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1196
1197         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
1198         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
1199         Prepend "__builtin_" onto NAME with string concatenation.  Remove
1200         explicit "__builtin_" from each macro call.
1201
1202         Reformat entire file.
1203
1204 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1205
1206         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
1207         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
1208
1209 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1210
1211         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
1212         CCL1, or CCL2 modes with floating point operations.
1213
1214         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
1215         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
1216         "*subdf3_cconly"): New insns.
1217         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
1218
1219 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
1220
1221         * Makefile.in: Refine dependencies.
1222         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
1223         * c.opt: Update help for -Wimport.
1224         * cppfiles.c: Include hashtab.h.  Update comments.
1225         (stack_file): Read the file before updating dependencies.
1226         (once_only_file_p): Be smarter about marking once-only files.
1227         (_cpp_mark_file_once_only): Correct the check for existence on
1228         the list.
1229         (open_file_failed): Use name not path, which is NULL.
1230         * cpphash.h: Don't include hashtab.h.
1231         (struct _cpp_file): Remove.
1232         (struct cpp_reader): Update.
1233         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
1234         * cpplib.h (struct cpp_options): Remove warn_import.
1235         (cpp_simplify_path): Remove.
1236
1237 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
1238
1239         PR c++/11295
1240         * doc/extend.texi (Statement Expressions): Document C++ semantics.
1241
1242 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
1243
1244         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
1245
1246 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1247
1248         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
1249         throughout.
1250         * builtins.def: Likewise.
1251
1252 2003-07-31  Jason Merrill  <jason@redhat.com>
1253
1254         * Makefile.in (bubblestrap): Don't require a previous full
1255         bootstrap.
1256
1257         * expr.c (mostly_zeros_p): No longer static.
1258         * tree.h: Declare it.
1259         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
1260         unless we need to do substitutions.
1261
1262 2003-07-31  Roger Sayle  <roger@eyesopen.com>
1263
1264         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
1265         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
1266         as pow(x,2.0) when the latter will be expanded back into x*x.
1267         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
1268         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
1269         pow can never set errno when used with an integer exponent.
1270         Always use expand_powi when exponent is -1, 0, 1 or 2.
1271         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
1272         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
1273         the pow forms of these expressions.
1274
1275 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
1276
1277         * Makefile.in (libexecdir): New.
1278         (libsubdir): Use gcc instead of gcc-lib.
1279         (libexecsubdir): New.
1280         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
1281         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
1282         gcc-lib.
1283         (installdirs): Make libexecsubdir.
1284         (install-common): Put executables in libexecsubdir.
1285         (itoolsdir): Use libexecsubdir.
1286         (itoolsdatadir): New.
1287         (install-mkheaders): Separate data files and executables.
1288         (install-collect2): Put executables in libexecsubdir.
1289         (uninstall): Remove libexecsubdir.
1290         * mkheaders.in: Update for new arrangement of files.
1291         (libexecdir): New.
1292         (libexecsubdir): New.
1293         (itoolsdir): Use libexecsubdir.
1294         (itoolsdatadir): New.
1295         * gcc.c (gcc_libexec_prefix): New.
1296         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
1297         (standard_exec_prefix_1): Use libexec.
1298         (standard_exec_prefix_2): New.
1299         (standard_libexec_prefix): New.
1300         (process_command): Update for new arrangement of files.  Compute
1301         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
1302
1303 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1304
1305         * inclhack.def (stdio_va_list): Avoid bogus replacement which
1306         triggers on Interix.
1307         * fixincl.x: Regenerate.
1308
1309 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
1310
1311         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
1312         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
1313
1314 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1315
1316         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
1317
1318 2003-07-31  Per Bothner  <pbothner@apple.com>
1319
1320         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
1321         (add_input_filename):  New function.
1322         (handle_options):  Call add_input_filename directly instead of
1323         with a lang hook.
1324         * opts.h (in_fnames, num_in_fnames):  Moved here.
1325         (add_input_filename):  Declare.
1326         * c-decl.c:  Need to #include opts.h.
1327         * Makefile.in (c-decl.o):  Also depends on opts.h.
1328         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
1329         (c_common_handle_filename):  Replaced by add_input_filename.
1330         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
1331         Remove.
1332         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
1333         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1334         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
1335         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1336
1337 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1338
1339         * combine.c (try_combine): Set JUMP_LABEL for newly created
1340         unconditional jump.
1341
1342 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1343
1344         * fold-const.c (fold): Fold some comparisons of bit operations.
1345
1346 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
1347
1348         * cgraph.c (create_edge): Fix typo.
1349         * i386.c (pic_symbolic_operand): Reorder tests.
1350
1351 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
1352
1353         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
1354         more fully.
1355         (Gcov Data Files): Update.
1356
1357 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1358
1359         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
1360         default.
1361
1362         * gthr-posix.c: New file.
1363         * gthr-posix.h: Define _REENTRANT if missing.
1364         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
1365
1366         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
1367         by gthr-posix.o.
1368         * config/alpha/t-osf-pthread: New file.
1369
1370         * fixinc/inclhack.def (alpha_pthread): New fix.
1371         * fixinc/fixincl.x: Regenerate.
1372         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
1373
1374         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
1375         warning.
1376         Fixes PR bootstrap/9330.
1377
1378 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1379
1380         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
1381         without GNU ld.
1382         Update comment.
1383         * configure: Regenerate.
1384
1385 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
1386
1387         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
1388         setter.
1389
1390 2003-07-30  Roger Sayle  <roger@eyesopen.com>
1391
1392         * builtins.def: Alphabetize.
1393
1394 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1395
1396         * doc/c-tree.texi: Normalize spellings of "lowercase" and
1397         "uppercase".
1398         * doc/cpp.texi: Likewise.
1399         * doc/md.texi: Likewise.
1400         * doc/rtl.texi: Likewise.
1401         * doc/tm.texi: Likewise.
1402
1403 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1404
1405         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
1406         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
1407         of cc1obj.
1408
1409 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
1410
1411         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
1412         macros before defining them.
1413
1414 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1415
1416         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
1417         UNSPECV_BLOCKAGE): New constants.
1418         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
1419         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
1420         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
1421         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
1422
1423         (all insns and expanders): Write output control string as brace block
1424         where appropriate.  Remove \-escapes for doublequote characters.
1425
1426 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
1427
1428         * gcse.c (insert_store): Fix typo in previous patch.
1429
1430 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
1431
1432         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
1433
1434 2003-07-30  Andi Kleen  <ak@muc.de>
1435
1436         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
1437
1438 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1439
1440         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
1441         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
1442         GCOV_N_VALUE_COUNTERS): New.
1443         * profile.c (compute_value_histograms): New static function.
1444         (branch_prob): Read back the value histograms.
1445         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
1446         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
1447         * value-prof.c: Add comment on reading the profile.
1448         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
1449         * doc/invoke.texi (-fprofile-values): Document behavior with
1450         -fbranch-probabilities.
1451
1452 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
1453
1454         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
1455
1456 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
1457
1458         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
1459         symbolically.
1460
1461 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
1462
1463         * gcse.c (insert_store): Ignore fake edges.
1464
1465         * c-common.c (flag_vtable_gc): Kill.
1466         * c-common.g (flag_vtable_gc): Kill.
1467         * c-opts (c_common_handle_option): Kill.
1468         * c.opt (fvtable-gc): Kill.
1469         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
1470         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1471         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1472
1473         * invoke.texi (-ftable-gc): Kill documentation.
1474
1475         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
1476         just because function body is missing.
1477
1478         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
1479
1480 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
1481
1482         * unwind-sjlj.c: Fix typo in file description.
1483
1484 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1485
1486         * calls.c (load_register_parameters): When shifting reg sized values
1487         to the msb, move the value to a reg first.
1488
1489 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1490
1491         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
1492         * line-map.h (linemap_add): Update comments.
1493         * line-map.c (linemap_add): Update comments, interpret zero-length
1494         filename as "<stdin>".
1495
1496 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1497
1498         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
1499
1500 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
1501
1502         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
1503         New static variables.
1504         (struct c_scope): Add parms and warned_forward_parm_decls
1505         fields; remove parm_order.
1506         (storedecls, storetags): Delete.
1507         (poplevel): Also clear bindings on the parms chain.
1508         (pushdecl): Handle forward declarations of parameters, and
1509         chain PARM_DECLs on the parms list, not the names list.
1510         (lookup_name_current_level): Check for PARM_DECLs on the parms
1511         list too.
1512         (push_parm_decl): Don't update parm_order.
1513         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
1514         warning, only once per parameter list, and set TREE_ASM_WRITTEN
1515         on the decls here.  Then move the forward decls to the names list.
1516         (grokparms): Set last_function_parm_vars.
1517         (get_parm_info): Don't use gettags or getdecls.  No need to
1518         extract non-parms from the parms list, or reorganize the parms
1519         list.  Feed nonparms back in the TREE_TYPE of the list node
1520         returned.  Issue only one error per parameter list for "void"
1521         appearing more than once in said parameter list.  Collapse
1522         parmlist_tags_warning into this function to avoid double scan
1523         of tags list.
1524         (start_function): Set current_function_parm_vars.
1525         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
1526         directly.  Get non-parms from current_function_parm_vars; no
1527         need to extract them from the parms chain.  Properly bind tags
1528         in the new scope.
1529         (store_parm_decls_oldstyle): No need to extract non-parameters
1530         from the parms chain, nor to store them back afterward.  Move
1531         declaration to top of function, restructure code reordering
1532         DECL_ARGUMENTS.
1533         (store_parm_decls): No need to save and restore warn_shadow.
1534         * c-parse.in: Don't call parmlist_tags_warning nor
1535         clear_parm_order.  Call mark_forward_parm_decls when forward
1536         parm decls are encountered.
1537         * c-tree.h: Prototype mark_forward_parm_decls; not
1538         clear_parm_order or parmlist_tags_warning.
1539
1540 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1541
1542         * c-common.c (allow_pch): Remove.
1543         * c-common.h (allow_pch): Remove.
1544         (c_common_no_more_pch): Declare.
1545         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
1546         * c-pch.c: Include hosthooks.h.
1547         (c_common_valid_pch): Don't check allow_pch.
1548         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
1549         (c_common_no_more_pch): New.
1550         * ggc-common.c: Include hosthooks.h.
1551         (gt_pch_save): Call gt_pch_get_address.
1552         (gt_pch_restore): Call gt_pch_use_address.
1553         * hooks.c (hook_voidp_size_t_null): New.
1554         (hook_bool_voidp_size_t_false): New.
1555         * hooks.h (hook_voidp_size_t_null): New.
1556         (hook_bool_voidp_size_t_false): New.
1557         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
1558         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
1559         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
1560         HOST_HOOKS_GT_PCH_USE_ADDRESS.
1561         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
1562         gt_pch_use_address.
1563         * doc/hostconfig.texi (Host Common): Document
1564         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
1565         * Makefile.in (c-pch.o): Depend on hosthooks.h.
1566         (ggc-common.o): Likewise.
1567
1568         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
1569         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
1570         (pch_address_space): New.
1571         (darwin_rs6000_gt_pch_get_address): New.
1572         (darwin_rs6000_gt_pch_use_address): New.
1573
1574 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
1575
1576         PR preprocessor/11569
1577         PR preprocessor/11649
1578         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
1579         * cppfiles.c: Completely rewritten.
1580         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
1581         struct cpp_path is now struct cpp_dir.
1582         (remove_duplicates): Don't simplify path names.
1583         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
1584         cpp_stack_file.
1585         * cpphash.h: Include hashtab.h.
1586         (_cpp_file): Declare.
1587         (struct cpp_buffer): struct include_file is now struct _cpp_file,
1588         and struct cpp_path is now struct cpp_dir.  Rename members.
1589         (struct cpp_reader): Similarly.  New members once_only_files,
1590         file_hash, file_hash_entries, quote_ignores_source_dir,
1591         no_search_path, saw_pragma_once.  Remove all_include_files and
1592         max_include_len.  Make some members bool.
1593         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
1594         (_cpp_stack_file): Renamed from _cpp_read_file.
1595         (_cpp_stack_include): Renamed from _cpp_execute_include.
1596         (_cpp_init_files): Renamed from _cpp_init_includes.
1597         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
1598         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
1599         (cpp_read_next_file): Rename and move to cppfiles.c.
1600         (cpp_read_main_file): Update.
1601         * cpplib.c (run_directive): Update for renamed members.
1602         (do_include_common, _cpp_pop_buffer): Update.
1603         (do_import): Undeprecate #import.
1604         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
1605         * cpplib.h: Remove file_name_map_list.
1606         (cpp_options): Remove map_list.
1607         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
1608         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
1609
1610 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1611
1612         * Makefile.in:  Make stamp-objdir safe for parallel builds.
1613
1614 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1615
1616         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
1617         (info):  Depend on stmp-docobjdir.
1618
1619 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1620
1621         * configure: Regenerate.
1622
1623 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
1624
1625         PR C++/11131
1626         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
1627         in !unit-at-a-time mode.
1628
1629 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
1630
1631         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
1632         main function.
1633
1634 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
1635
1636         PR c++/11667
1637         * c-common.c (shorten_compare): Take into account differences
1638         between C and C++ representation for enumeration types.
1639         * tree.h (set_min_and_max_values_for_integral_type): Declare.
1640         * stor-layout.c (set_min_and_max_values_for_integral_type): New
1641         function, broken out from ...
1642         (fixup_signed_type): ... here and ...
1643         (fixup_unsigned_type): ... here.
1644
1645 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
1646
1647         * c-decl.c: Update commentary, adjust blank lines throughout.
1648         (struct c_scope): Fix indentation.  Reorder members so
1649         outer-context pointers come first, booleans last.
1650         (duplicate_decls, define_label): Use a 'locus' variable for
1651         diagnostic locations in a few more places.
1652         (warn_if_shadowing): Un-split a conditional that fits on one line.
1653         (c_init_decl_processing): No need to clear current_scope and
1654         current_function_scope.
1655         (start_decl): Merge if/else if statements with same action.
1656         (push_parm_decl): Rename old_immediate_size_expand to use
1657         save_foo convention; save/restore around entire function.
1658         (grokdeclarator): Remove unnecessary braces.
1659
1660 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
1661             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
1662
1663         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
1664         when warn_declaration_after_statement.  Call pedwarn_c90, not
1665         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
1666         * c-common.c (warn_declaration_after_statement): Define.
1667         * c-common.h (warn_declaration_after_statement): Declare.
1668         * c.opt (Wdeclaration-after-statement): New.
1669         * c-errors.c (pedwarn_c90): New function.
1670         * c-opts.c (c_common_handle_option) <case
1671         OPT_Wdeclaration_after_statement>: New.
1672         * c-tree.h (pedwarn_c90): Declare.
1673         * doc/invoke.texi (Option Summary): Document
1674         -Wdeclaration-after-statement.
1675         (Warning Options): Ditto.
1676
1677 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
1678
1679         * i386.md (memory attribute) Avoid accessing uninitialized memory
1680         for ishift1 type instructions.
1681
1682 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
1683
1684         * configure.in (--enable-checking): Add fold category.
1685         (ENABLE_FOLD_CHECKING): Define if requested.
1686         * configure: Rebuilt.
1687         * config.in: Rebuilt.
1688         * doc/install.texi: Document it.
1689         * fold-const.c: Include md5.h.
1690         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
1691         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
1692         print_fold_checksum): New functions.
1693
1694         * fold-const.c (fold): Never modify argument passed to fold, instead
1695         change a copy and return it.
1696         * convert.c (convert_to_integer): Likewise.
1697
1698 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1699
1700         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
1701         cleanup of junk after #else and #endif directives.  Collapse repeated
1702         clauses into for statment.
1703
1704         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
1705
1706 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
1707
1708         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
1709         (keep_next_if_subblocks): Rename next_is_function_body.
1710         (pushlevel): Adjust commentary.  Always set ->keep on the
1711         outermost level of a function.  Don't set ->keep_if_subblocks.
1712         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
1713         (store_parm_decls): Adjust to match.
1714         (finish_function): Adjust to match.
1715         Call poplevel with all three arguments zero.
1716
1717         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
1718         New functions split out of store_parm_decls.
1719         Avoid unnecessary work. Use local variables consistently.
1720         (store_parm_decls): Likewise.
1721
1722         (finish_function): No need to set functionbody flag on call to
1723         poplevel.
1724         (struct language_function): Remove scope field.
1725         (c_push_function_context, c_pop_function_context): No need to
1726         save and restore current_scope.
1727
1728 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
1729
1730         * doc/extend.texi (Deprecated Features): Implicit typename is
1731         gone. Default args on types is going.
1732
1733 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
1734
1735         * Makefile.in (ifcvt.o): Depend on target.h
1736         * ifcvt.c (target.h): Include.
1737         (if_convert): Don't call mark_loop_exit_edges if we can't
1738         modify jumps.
1739
1740 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1741
1742         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
1743
1744 2003-07-26  Richard Henderson  <rth@redhat.com>
1745
1746         PR inline-asm/11676
1747         * cse.c (count_reg_usage): Handle asm_operands properly.
1748
1749 2003-07-26  Roger Sayle  <roger@eyesopen.com>
1750
1751         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
1752         (DEF_EXT_FALLBACK_BUILTIN): Delete.
1753         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
1754         the regular DEF_EXT_LIB_BUILTIN macro.
1755         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
1756         the regular DEF_LIB_BUILTIN macro.
1757         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
1758         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
1759         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
1760         DEF_EXT_LIB_BUILTIN macro.
1761
1762         * c-decl.c (duplicate_decls): Remove code to handle builtin
1763         functions prototyped without an argument list.
1764
1765 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
1766
1767         * config/i386/winnt.c: Revert 2003-07-08 change.
1768         (i386_pe_section_type_flags): Remove error_with_decl here too.
1769
1770 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1771
1772         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
1773         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
1774         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
1775         (v850_handle_data_area_attribute): Likewise.
1776
1777 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
1778
1779         * varasm.c (output_constant_def_contents): Use
1780         ASM_DECLARE_CONSTANT_NAME if defined.
1781         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
1782         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
1783         objects get at least one byte to prevent assembler problems.
1784         (ASM_DECLARE_CONSTANT_NAME): New.
1785
1786         * Makefile.in (libbackend.o): Remove options_.h.
1787         (mostlyclean): Likewise.
1788
1789         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
1790         insert a label at the end of an function under Mach-O.
1791
1792         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
1793
1794 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
1795
1796         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
1797         equality.
1798         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
1799
1800         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
1801
1802 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1803
1804         * doc/passes.texi (Passes): Mention pretty-printing and
1805         diagnostic files.
1806
1807 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
1808
1809         * doc/extend.texi (Function Attributes): GNU C++ does now allow
1810         unused parameter decls.
1811         (Attribute Syntax): GNU C++ does not allow label attributes to be
1812         after the ':'.
1813
1814 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1815
1816         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
1817         (objc_declare_class): Likewise.
1818         (error_with_ivar): Likewise.
1819         (start_class): Likewise.
1820         (warn_with_method): Likewise.
1821
1822 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1823
1824         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
1825         from GCC.
1826         * calls.c (try_to_integrate): Don't use xxx_with_decl.
1827         (expand_call): Likewise.
1828         * dwarfout.c (output_reg_number): Likewise.
1829         * expr.c (expand_expr): Likewise.
1830         * function.c (assign_temp): Likewise.
1831         (uninitialized_vars_warning): Likewise.
1832         (setjmp_args_warning): Likewise.
1833         (expand_function_end): Likewise.
1834         * stmt.c (fixup_gotos): Likewise.
1835         (warn_about_unused_variables): Likewise.
1836         (expand_end_bindings): Likewise.
1837         * stor-layout.c (layout_decl): Likewise.
1838         (place_field): Likewise.
1839         * toplev.c (check_global_declarations): Likewise.
1840         (rest_of_handle_inlining): Likewise.
1841         (default_tree_printer): New function.
1842         (general_init): Initialize diagnostic machinery before routing
1843         signals to the ICE machinery.  Set default tree printer.
1844         * toplev.h (pedwarn_with_decl): Remove declaration.
1845         (warning_with_decl): Likewise.
1846         (error_with_decl): Likewise.
1847         (pedwarn): Remove attribute for the time being.
1848         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
1849         * varasm.c (named_section): Likewise.
1850         (make_decl_rtl): Likewise.
1851         (assemble_variable): Likewise.
1852         (merge_weak): Likewise.
1853         (declare_weak): Likewise.
1854
1855         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
1856         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
1857         (format_with_decl): Remove.
1858         (diagnostic_for_decl): Likewise.
1859         (pedwarn_with_decl): Likewise.
1860         (warning_with_decl): Likewise.
1861         (error_with_decl): Likewise.
1862         (diagnostic_initialize): Adjust.
1863         (diagnostic_count_diagnostic): Likewise.
1864         (announce_function): Likewise.
1865         (lhd_print_error_function): Likewise.
1866         (diagnostic_report_current_module): Likewise.
1867         (default_diagnostic_starter): Likewise.
1868         (diagnostic_report_diagnostic): Likewise.
1869         (default_diagnostic_finalizer): Likewise.
1870         (verbatim): Likewise.
1871         (error): Likewise.
1872         (warning): Likewise.
1873         * opts.c (common_handle_option): Likewise.
1874         * pretty-print.c: New file.
1875         * c-pretty-print.h (pp_base): Override.
1876         * c-pretty-print.c: Adjust use of macros throughout.
1877         (pp_buffer): New macro.
1878         (pp_newline): Likewise.
1879         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
1880         * Makefile.in (DIAGNOSTIC_H): New variable.
1881         (c-errors.o): Use it.
1882         (c-objc-common.o): Likewise.
1883         (c-common.o): Likewise.
1884         (c-opts.o): Likewise.
1885         (c-format.o): Likewise.
1886         (diagnostic.o): Likewise.
1887         (opts.o): Likewise.
1888         (toplev.o): Likewise.
1889         (rtl-error.o): Likewise.
1890         (dwarf2out.o): Likewise.
1891         (jump.o): Likewise.
1892         (pretty-print.o): New rule.
1893
1894 2003-07-24  Roger Sayle  <roger@eyesopen.com>
1895
1896         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
1897         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
1898         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
1899         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
1900         (DEF_FRONT_END_LIB_BUILTIN): Delete.
1901         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
1902         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
1903
1904         * builtins.c (build_string_literal): New function to construct
1905         a char* pointer to a string literal.
1906         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
1907         "rtx target" to be consistent with other expand_builtin_* functions.
1908         Change 3rd argument from "int unlocked" to "bool unlocked".
1909         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
1910         c-common.c to avoid front-end dependencies.  Optimize printf("")
1911         as a no-op when the result isn't required.  Handle embedded NULs
1912         in format string.
1913         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
1914         from c-common.c to avoid front-end dependencies.  Likewise, optimize
1915         fprintf(fp,"") as a no-op when the result isn't required, evaluating
1916         fp for side-effects.  Handle embedded NULs in format string.
1917         (expand_builtin_sprintf): Fix typo.
1918         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
1919         optimizing.  Adjust calls of expand_builtin_fputs to match the API
1920         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
1921         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
1922         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
1923
1924         * c-common.c (is_valid_printf_arglist): Delete.
1925         (c_expand_builtin): Delete.
1926         (c_expand_builtin_printf): Moved to builtins.c. Delete.
1927         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
1928         (c_expand_expr): No longer treat CALL_EXPRs specially.
1929         (CALLED_AS_BUILT_IN): Delete.
1930
1931 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1932
1933         PR optimization/11631
1934         * gcse.c (store_motion): Connect infinite loops to exit.
1935
1936 2003-07-24  Jason Merrill  <jason@redhat.com>
1937
1938         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
1939         (boolean_true_node, boolean_false_node): Likewise.
1940         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
1941         * tree.c (build_common_tree_nodes): Init boolean_type_node.
1942         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
1943         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
1944         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
1945         (truthvalue_true_node): Renamed from boolean_true_node.
1946         (truthvalue_false_node): Renamed from boolean_false_node.
1947         * c-decl.c: Just set truthvalue_* to integer_*.
1948         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
1949
1950 2003-07-24  Roger Sayle  <roger@eyesopen.com>
1951
1952         * c-decl.c (match_builtin_function_types): New subroutine of
1953         duplicate_decls to test whether a redeclaration of a builtin
1954         function is suitably close, i.e. the return type and all of
1955         the argument types have the same modes as the builtin expects.
1956         (duplicate_decls): Fuzzy type matching for builtin functions
1957         moved to match_builtin_function_types.
1958
1959 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1960
1961         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
1962         flag correctly.
1963
1964 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
1965
1966         * c-decl.c: Search-and-replace change 'binding level' to
1967         'scope' in commentary.
1968         (struct binding_level): Now struct c_scope.
1969         (current_binding_level): Now current_scope.
1970         (free_binding_level): Now scope_freelist.
1971         (current_function_level): Now current_function_scope.
1972         (global_binding_level): Now global_scope.
1973         (make_binding_level): Now make_scope.
1974         (pop_binding_level): Now pop_scope.
1975
1976 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1977
1978         * configure.in (libgcc_visibility): Add missing whitespace.
1979
1980 2003-07-24  Richard Henderson  <rth@redhat.com>
1981
1982         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
1983         __gcc_personality_v0.
1984
1985 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1986
1987         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
1988
1989 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
1990
1991         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
1992         documentation missed from my 2003-07-09 patch.
1993
1994 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1995
1996         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
1997         it's not provided.
1998         * configure: Rebuild.
1999
2000 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
2001
2002         PR c/10602
2003         * c-typeck.c (type_lists_compatible_p): Do not compare
2004         arguments if one of them is an error_mark_node
2005
2006 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
2007
2008         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
2009         if current_function_calls_eh_return.
2010
2011 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2012
2013         * doc/c-tree.texi (OFFSET_TYPE): Update description.
2014
2015 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
2016
2017         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
2018         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2019         __umodsi3, __modsi3): Increase frame size to 32.
2020
2021 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
2022
2023         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
2024         prototype.
2025
2026 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2027
2028         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
2029
2030         PR optimization/10679
2031         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
2032
2033 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2034
2035         PR target/11607 and PR target/11516
2036         * pa.md (extzv, extv, insv): Revert latter half of last patch.
2037
2038 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
2039
2040         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
2041         * varasam.c (output_constant): Likewise.
2042
2043 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2044
2045         * alias.c: Fix comment formatting.
2046         * c-common.c: Likewise.
2047         * c-decl.c: Likewise.
2048         * c-opts.c: Likewise.
2049         * combine.c: Likewise.
2050         * cpplib.c: Likewise.
2051         * diagnostic.c: Likewise.
2052         * dojump.c: Likewise.
2053         * final.c: Likewise.
2054         * fold-const.c: Likewise.
2055         * gcc.c: Likewise.
2056         * gcse.c: Likewise.
2057         * ggc-page.c: Likewise.
2058         * jump.c: Likewise.
2059         * loop.c: Likewise.
2060         * mips-tfile.c: Likewise.
2061         * recog.c: Likewise.
2062         * regclass.c: Likewise.
2063         * regmove.c: Likewise.
2064         * tree.c: Likewise.
2065         * tree.h: Likewise.
2066
2067 2003-07-22  Per Bothner  <pbothner@apple.com>
2068
2069         * line-map.c (add_line_map):  Handle invalid LEAVE request.
2070         Fixes PR preprocessor/11361.
2071
2072 2003-07-22  Per Bothner  <pbothner@apple.com>
2073
2074         * diagnostic.c.(diagnostic_report_current_module):  Update to match
2075         2003-06-05 changes to push_srcloc and pop_srcloc.
2076
2077 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
2078
2079         * doc/trouble.texi: Better document two-stage name lookup.
2080
2081 2003-07-22  Eric Christopher <echristo@redhat.com>
2082
2083         * config/s390.c (s390_valid_pointer_mode): New.
2084         (TARGET_VALID_POINTER_MODE): Use.
2085         (s390_emit_prologue): Add tpf profiling hooks.
2086         (s390_emit_epilogue): Ditto.
2087         * config/s390.h (MASK_TPF): New.
2088         (TARGET_TPF): Use.
2089         (POINTERS_EXTEND_UNSIGNED): Define.
2090         * config/s390.md (ptr_extend): New pattern.
2091
2092 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
2093
2094         * hashtable.c (approx_sqrt): Make static.
2095         * hashtable.h: Don't prototype approx_sqrt.
2096         * line-map.c (init_line_maps): Rename linemap_init.
2097         (free_line_maps): Rename linemap_free.
2098         (add_line_map): Rename linemap_add.
2099         (lookup_line): Rename linemap_lookup.
2100         (print_containing_files): Rename linemap_print_containing_files.
2101         * linemap.h: Update to match.
2102
2103         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
2104         linemap routines to use new names.
2105
2106 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
2107
2108         * c-common.c (handle_packed_attribute): Don't pack a struct via a
2109         typedef. Propagate packedness from a main variant.
2110
2111 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
2112
2113         * Makefile.in (install-common): Add dependency on installdirs.
2114
2115 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
2116
2117         * c-common.c (c_common_type_for_mode): Return integer types for
2118         pointer modes.
2119
2120 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
2121
2122         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
2123         (finish_decl): Call maybe_apply_pragma_weak here.
2124         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
2125         TREE_PUBLIC and TREE_STATIC are decided.
2126         (start_function): Move call to maybe_apply_pragma_weak.  Check that
2127         DECL_ASSEMBLER_NAME isn't set too early.
2128
2129         * cpplex.c (_cpp_process_line_notes): Mention option name in
2130         trigraphs warning.
2131
2132 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * combine.c (if_then_else_cond): Simplify the comparison of
2135         rtx against -1, 0, and 1.
2136         * loop.c (check_dbra_loop): Likewise.
2137         * optabs.c (emit_conditional_move): Likewise.
2138         (emit_conditional_add): Likewise.
2139         * config/i386/i386.md (*movsi_or): Likewise.
2140         (*movdi_or_rex6): Likewise.
2141
2142 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
2143
2144         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
2145
2146 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
2147
2148         * cppfiles.c (open_file_pch): Don't put unused entries in the
2149         splay tree.  Remove dead code.
2150
2151 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
2152
2153         * c-common.h (num_in_fnames): Declare.
2154         (c_static_assembler_name): Move from here...
2155         * c-tree.h (c_static_assembler_name): ... to here.
2156         * c-opts.c: Don't include langhooks-def.h.
2157         (c_static_assembler_name): Move to c-decl.c.
2158         (num_in_fnames): Make externally visible.
2159         * c-decl.c: Include langhooks-def.h.
2160         (c_static_assembler_name): Move from c-opts.c.
2161         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
2162         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
2163
2164         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
2165         when it's not needed.
2166
2167 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
2168
2169         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
2170         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
2171         (rs6000_emit_prologue): Save FPRs inline if set.
2172
2173 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
2174
2175         * config/ia64/ia64.md (prefetch): Support predicate.
2176
2177 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
2178
2179         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
2180         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
2181         table.
2182
2183 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2184
2185         PR optimization/11536
2186         * unroll.c (loop_iterations): Do not replace a register holding
2187         the final value by its equivalent before the loop if it is not
2188         invariant.
2189
2190 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
2191
2192         * doc/extend.texi: Fixes to spelling, grammar, and diction.
2193
2194 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
2195
2196         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
2197         (V850 Options): Spelling fixes.
2198
2199 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
2200
2201         * doc/invoke.texi: Fixes to style, grammar and diction.
2202
2203 2003-07-20  Roger Sayle  <roger@eyesopen.com>
2204
2205         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
2206         * system.h (SMALL_STACK): Poison obsolete target macro.
2207         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
2208
2209 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
2210
2211         * configure.in:  Cache the results of testing for cmp's capabilities.
2212         * configure:  Regenerate.
2213
2214 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
2215
2216         PR debug/11279
2217         * dwarf2out.c (gen_enumeration_type_die): Remember that
2218         enumerators can be unsigned.
2219
2220 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
2221
2222         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
2223         (push_label_level, pop_label_level): Kill.
2224         (struct binding_level): Rename level_chain to outer.
2225         Add outer_function field.  Change parm_flag, function_body,
2226         keep, keep_if_subblocks to 1-bit bitfields of type bool.
2227         (current_function_level): New variable.
2228         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
2229         (keep_next_level, declare_parm_level, warn_if_shadowing):
2230         Update to match.
2231         (struct language_function): Kill named_labels, shadowed_labels fields.
2232         (c_init_decl_processing, start_function, c_push__function_context)
2233         (c_pop_function_context): No need to muck with named_labels nor
2234         shadowed_labels.
2235
2236         (make_binding_level): No need to clear the structure here.
2237         (pop_binding_level): Always operate on current_binding_level.
2238         Update current_function_level if necessary.
2239         (pushlevel): Don't clear named_labels.  Update current_function_level
2240         if necessary.  Use "true" and "false" where appropriate.
2241         (poplevel): Diagnose labels defined but not used, or vice
2242         versa, and clear out label-meanings leaving scope, while
2243         walking down the decls list, for all binding levels.
2244         Handle LABEL_DECLs appearing in the shadowed list.
2245         pop_binding_level takes no arguments.
2246         (pushdecl_function_level): Use current_function_level.
2247
2248         (make_label, bind_label): New static functions.
2249         (declare_label): New exported function.
2250         (lookup_label, define_label): Rewritten for new data structure.
2251         (shadow_label): Kill.
2252
2253         * c-tree.h: Prototype declare_label; don't prototype
2254         push_label_level, pop_label_level, nor shadow_label.
2255         * c-parse.in: Remove all calls to push_label_level and
2256         pop_label_level.  Use declare_label for __label__ decls.
2257
2258         * doc/extend.texi: Clarify that __label__ can be used to
2259         declare labels with local scope in any nested block, not
2260         just statement expressions.  Cross-reference nested functions
2261         section from local labels section.
2262
2263 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2264
2265         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
2266
2267 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
2268
2269         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
2270
2271 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2272
2273         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
2274         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
2275
2276 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
2277
2278         * config/s390/s390.c (legitimize_pic_address): Access local symbols
2279         relative to the GOT instead of relative to the literal pool base.
2280         (s390_output_symbolic_const): Handle new GOT-relative accesses.
2281         * config/s390/s390.md ("call"): Access local functions and PLT stubs
2282         relative to the GOT instead of relative to the literal pool base.
2283         ("call_value"): Likewise.
2284         ("call_value_tls"): Likewise.
2285
2286         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
2287         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
2288         (s390_chunkify_finish): Likewise.
2289         (s390_chunkify_cancel): Likewise.
2290         (s390_reorg): Adapt caller.
2291         (find_base_register_in_addr,
2292         find_base_register_ref, replace_base_register_ref): Delete.
2293         (find_ltrel_base, replace_ltrel_base): New functions.
2294         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
2295         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
2296         base vs. index register usage.
2297         (struct constant_pool): Remove 'anchor'.
2298         (s390_add_anchor): Delete.
2299         (s390_dump_pool): Remove anchor handling.
2300         * config/s390/s390.md ("reload_anchor"): Remove.
2301
2302         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
2303         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
2304         (s390_emit_prologue): Use it.
2305         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
2306         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
2307         hard-code register 14.
2308         * config/s390/s390-protos.h (s390_load_got): Declare.
2309
2310         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
2311         Support TImode constants.
2312         * config/s390/s390.md ("consttable_ti"): New.
2313         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
2314
2315         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
2316         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
2317         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
2318         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
2319         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
2320         New symbolic constants.
2321         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2322         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
2323         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
2324         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
2325         symbolic UNSPEC values.
2326         * config/s390/s390.c (larl_operand, s390_short_displacement,
2327         bras_sym_operand, s390_cannot_force_const_mem,
2328         s390_delegitimize_address, s390_decompose_address,
2329         legitimize_pic_address, s390_output_symbolic_const,
2330         s390_function_profiler): Use symbolic UNSPEC values.
2331
2332 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2333
2334         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
2335         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
2336         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
2337         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
2338         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
2339         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
2340         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
2341         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
2342         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
2343         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
2344         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
2345         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
2346         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
2347         postreload.c prefix.c print-tree.c protoize.c ra-build.c
2348         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
2349         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
2350         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
2351         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
2352         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
2353         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
2354         casts.
2355
2356 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2357
2358         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
2359         * toplev.h (warning): Remove attribute.
2360
2361 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2362
2363         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
2364         (pop_label_level): Likewise.
2365         (duplicate_decls): Likewise.
2366         (implicitly_declare): Likewise.
2367         (shadow_label): Likewise.
2368         (start_decl): Likewise.
2369         (finish_decl): Likewise.
2370         (grokdeclarator): Likewise.
2371         (get_parm_info): Likewise.
2372         (detect_field_duplicates): Likewise.
2373         (finish_struct): Likewise.
2374         (start_function): Likewise.
2375         (store_parm_decls): Likewise.
2376         (finish_function): Likewise.
2377         (c_expand_body_1): Likewise.
2378         (check_for_loop_decls): Likewise.
2379         (merge_translation_unit_decls): Likewise.
2380
2381 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
2382
2383         * common.opt:  Document --param.
2384         * opts.c (columns, undocumented_msg): New.
2385         (print_help): Get number of columns from environment.  Print
2386         --param help.  Tweak newline handling.
2387         (print_param_help): New.
2388         (print_filtered_help): Better handling of duplicates.  Complain
2389         about undocumented switches.
2390         (print_switch): New.
2391         (wrap_help): Improve wrapping, use COLUMNS.
2392         * opts.sh: Ignore comments in records.
2393         * params.def: Fix typos and remove trailing periods.
2394         * toplev.c (display_help): Don't dump --param help.
2395         * doc/sourcebuild.texi: Update.
2396
2397 2003-07-18  Richard Henderson  <rth@redhat.com>
2398
2399         PR target/11556
2400         * optabs.c (prepare_operand): Fail gracefully instead of abort
2401         if the predicate doesn't satisfy.
2402         (gen_cond_trap): Allow prepare_operand to fail.
2403
2404 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2405
2406         * c-common.c: Don't undefine GCC_DIAG_STYLE.
2407         (fname_decl): Don't use xxx_with_decl.
2408         (c_add_case_label): Likewise.
2409         (handle_section_attribute): Likewise.
2410         (handle_alias_attribute): Likewise.
2411         (handle_no_instrument_function_attribute): Likewise.
2412         (handle_no_limit_stack_attribute): Likewise.
2413         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
2414         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
2415
2416 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2417
2418         * Makefile.in (ifcvt.o): Add cfgloop.h.
2419         * basic-block.h (EDGE_LOOP_EXIT): New flag.
2420         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
2421         * ifcvt.c: Include cfgloop.h.
2422         (mark_loop_exit_edges): New static function.
2423         (if_convert): Call it.
2424         (find_if_header): Ignore branches out of loops.
2425
2426 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * combine.c (simplify_comparison): Don't share rtx when converting
2429         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
2430
2431 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
2432
2433         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
2434         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2435         (MUST_PASS_IN_STACK): Define.
2436         (BLOCK_REG_PADDING): Define.
2437
2438 2003-07-18  Richard Henderson  <rth@redhat.com>
2439
2440         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
2441         to skip the addr_vec.
2442
2443 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
2444
2445         * combine.c (combinable_i3pat): Don't forbid occurrences of
2446         i2dest or i1dest in inner_dest if inner_dest is a mem.
2447
2448 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
2449
2450         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
2451
2452 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
2453
2454         PR target/11087
2455         * loop.c (basic_induction_var): Check if convert_modes emitted any
2456         instructions. Remove them and return 0 if so.
2457
2458 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2459
2460         PR optimization/11083
2461         * toplev.c (rest_of_handle_addresof): Rename into
2462         rest_of_handle_addressof.  Delete unreachable blocks
2463         if dead edges were purged after the addressof pass.
2464
2465 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
2466
2467         * Makefile.in, configure, configure.in: Remove handling of
2468         lang-options.h and options_.h.
2469         * toplev.c (struct lang_opt, documented_lang_options): Remove.
2470         (display_help): Don't use documented_lang_options.
2471
2472 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2473
2474         * c-decl.c (pushdecl_function_level): Make static, return nothing.
2475         (kept_level_p): Fold into poplevel.
2476         (undeclared_variable): Moved here from c-typeck.c.  Export.
2477         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
2478         (undeclared_variable): Prototype here.  Don't prototype
2479         kept_level_p nor pushdecl_function_level.
2480         * c-parse.in: Change first argument to poplevel from
2481         "kept_level_p()" to "KEEP_MAYBE".
2482         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
2483
2484 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2485
2486         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
2487         commutative operands instead of modifying the RTL in-place.
2488
2489 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
2490
2491         PR optimization/11557
2492         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
2493         unless we know which function is being called.
2494
2495 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2496
2497         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
2498         whether to reorder the operands of a commutative binary operator.
2499
2500 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2501
2502         * fold-const.c (const_binop): Avoid performing the FP operation at
2503         compile-time, if either operand is NaN and we honor signaling NaNs,
2504         or if we're dividing by zero and either flag_trapping_math is set
2505         or the desired mode doesn't support infinities.
2506         (fold_initializer): New function to fold an expression ignoring any
2507         potential run-time exceptions or traps.
2508         * tree.h (fold_initializer): Prototype here.
2509         * c-typeck.c (build_binary_op): Move to the end of the file so
2510         that intializer_stack is in scope.  If constructing an initializer,
2511         i.e. when initializer_stack is not NULL, use fold_initializer to
2512         fold expressions.
2513         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
2514         performing FP operations at compile-time, if they would raise an
2515         exception at run-time.
2516
2517 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
2518
2519         PR 11498
2520         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
2521         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
2522         (GTFILES): Add langhooks.c.
2523         (gt-langhooks.h): New.
2524         * c-common.h (c_static_assembler_name): Prototype.
2525         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2526         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2527         * c-opts.c: Include langhooks-def.h.
2528         (c_static_assembler_name): New.
2529         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
2530         (var_labelno): New.
2531         (lhd_set_decl_assembler_name): Give static objects with context
2532         unique names.
2533         * varasm.c (var_labelno): Delete.
2534         (make_decl_rtl): Don't change the assembler name once it's set.
2535
2536         * c-opts.c (this_input_filename): New.
2537         (finish_options): Take new parameter, name of file being compiled.
2538         Update callers.  Set this_input_filename.
2539         (push_command_line_include): Use this_input_filename not
2540         main_input_filename.
2541
2542 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2543
2544         * Makefile.in: Depend .pot generation on options.c.
2545         * po/exgettext: Add an extra_files variable containing additional
2546         files to scan.
2547
2548 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2549
2550         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
2551         c_write_global_declarations.
2552
2553         * c-decl.c: Fix typos in several comments.  Remove all
2554         #if 0 blocks; reindent as needed.  Remove unused argument
2555         to declare_parm_level; all callers changed.
2556         * c-parse.in: Update calls to declare_parm_level.  Avoid
2557         issuing a double warning in some circumstances.
2558         * c-typeck.c: Update calls to declare_parm_level.
2559         * c-tree.h: Update prototype of declare_parm_level.
2560
2561         * c-pragma.c (apply_pragma_weak): Don't complain about a
2562         redundant #pragma weak.
2563
2564         * objc/objc-act.c (forward_declare_categories,
2565         build_selector_reference_decl, build_class_reference_decl,
2566         build_objc_string_decl, synth_forward_declarations,
2567         build_protocol_reference): Set TREE_PUBLIC on synthetic
2568         forward decl to 0, consistent with eventual definition.
2569         Correct comments to match.
2570
2571         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
2572         in regexp that don't form a range expression.
2573         * fixinc/fixincl.def: Regenerate.
2574
2575 2003-07-17  Richard Henderson  <rth@redhat.com>
2576
2577         PR target/10907
2578         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
2579         even with !TARGET_CONST_GP.
2580         (ia64_function_ok_for_sibcall): Reject non-local functions.
2581
2582 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
2583
2584         * c-common.c (c_estimate_num_insns_1): Don't handle
2585         METHOD_CALL_EXPR.
2586         * expr.c (safe_from_p): Likewise.
2587         * gengtype.c (adjust_field_tree_exp): Likewise.
2588         * stmt.c (warn_if_unused_value): Likewise
2589         * tree.c (first_rtl_op): Likewise.
2590         * tree.def: Don't define METHOD_CALL_EXPR.
2591         * java/lang.c (java_estimate_num_insns_1): Don't handle
2592         METHOD_CALL_EXPR.
2593
2594 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2595
2596         PR other/11466
2597         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
2598         and its restrictions for the SPARC64 port.
2599         Move the entry of "-mimpure-text" before that of "-mv8".
2600
2601 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
2602             Phil Edwards <phil@jaj.com>
2603
2604         * doc/install.texi (*-*-solaris2*): Document the step-by-step
2605         procedure to bootstrap and install.
2606         Document the preference for the legacy Sun tools in /usr/bin
2607         over the POSIX tools in /usr/xpg4/bin for the build process.
2608
2609 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2610
2611         * c.opt: Document Uncodumented; use it.  Document ObjC options.
2612         * opts.c (print_filtered_help): Skip undocumented switches.
2613         * opts.h (CL_UNDOCUMENTED): New.
2614         * opts.sh: Handle Undocumented.
2615         * toplev.c (documented_lang_options): Prevent its becoming empty.
2616 objc:
2617         * lang-options.h: Remove.
2618
2619 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
2620
2621         * loop.c (check_ext_dependent_givs): Pass const struct loop *
2622         instead of struct loop_info * as argument.  Accept BIVs with
2623         increment +/- 1 provided there is a friendly exit test against
2624         a loop-invariant value.
2625         (strength_reduce): Adapt call to check_ext_dependent_givs.
2626
2627 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
2628             Con Bradley <con.bradley@superh.com>
2629
2630         * sh-protos.h (sh_get_pr_initial_val): Declare.
2631         * sh.c (regno_reg_class): Make its elements type enum reg_class.
2632         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
2633         and live_regs_mask arguments.  Changed all callers.
2634         (save_schedule_s): New structure.
2635         (save_schedule): New typedef.
2636         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
2637         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
2638         In interrupts handlers, also save registers that are usually
2639         partially saved, and make sure there is at least one general purpose
2640         register saved if a target register needs saving.
2641         Add casts in comparisons to avoid warnings.
2642         (sh_media_register_for_return): return -1 for interrupt handlers.
2643         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
2644         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
2645         registers used are available.
2646         Set RTX_FRAME_RELATED_P where appropriate.
2647         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
2648         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
2649         (initial_elimination_offset): Likewise.
2650         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
2651         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
2652         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
2653         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
2654         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
2655         and for target registers.
2656         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
2657         (regno_reg_class): Make its elements type enum reg_class.
2658         (CONSTRAINT_LEN): Don't use isdigit.
2659         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
2660         (FUNCTION_ARG): Add parentheses to avoid warnings.
2661         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
2662         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
2663         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
2664         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
2665         * sh.md (xordi3+1): Remove unused variable regno.
2666         (return_media): Check that tr0 is available before using it.
2667
2668 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
2669
2670         * c.opt: Document more options.
2671
2672 2003-07-16  Roger Sayle  <roger@eyesopen.com>
2673
2674         * combine.c (subst): Also handle (subreg (const_double ...)) case
2675         if created by a substitution, by using the original inner mode.
2676
2677 2003-07-16  Roger Sayle  <roger@eyesopen.com>
2678
2679         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
2680         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
2681         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
2682
2683 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
2684
2685         * doc/install.texi (--without-headers): New.
2686
2687         Partial Fix PR/10129
2688         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
2689         (machopic_output_function_base_name): New; print the true pic label.
2690         (machopic_classify_ident): Pic Base is always a defined data.
2691         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
2692         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
2693
2694         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
2695         if they are not floating point registers.
2696
2697         PR c/10962
2698         * ggc.h: Add header guards.
2699         * c-decl.c (finish_struct): Sort fields if
2700         number greater than 15 and there are no
2701         anonymous structs/unions.
2702         * c-common.h: Include ggc.h.
2703         (sorted_fields_type): New struct.
2704         (field_decl_cmp): New prototype.
2705         (resort_sorted_fields): New prototype.
2706         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
2707         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
2708         as s, removing other fields.
2709         * c-typeck.c (lookup_field): Use s in lang_type.
2710         These were mostly moved from cp/class.c:
2711         * c-common.c (field_decl_cmp): New static function.
2712         (field_decl_cmp): New function.
2713         (resort_sorted_fields): New function.
2714
2715 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
2716
2717         * config/darwin.c (machopic_select_section): Use decl_readonly_section
2718         to do most of the work.
2719
2720 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
2721
2722         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
2723         * config/mmix/mmix.c: Convert functions to ISO C90.
2724         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
2725         formatting.
2726         (mmix_get_hard_reg_initial_val): Tweak section head comment.
2727
2728 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
2729
2730         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
2731
2732 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
2733
2734         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
2735         (uw_update_context_1): Use it.
2736         * config/rs6000/rs6000.c (insn_after_throw): Remove.
2737         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
2738         in parent frame if _Unwind_* called directly instead of through
2739         .plt.
2740         (rs6000_emit_eh_toc_restore): Remove.
2741         (rs6000_emit_prologue): Update stack pointer before doing any saving
2742         if current_function_calls_eh_return.  Generate unwind info for $r2.
2743         (rs6000_emit_epilogue): Restore stack pointer after doing all
2744         restoring if current_function_calls_eh_return.  Restore $r2.
2745         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
2746         * config/rs6000/rs6000.md (eh_return): Remove call to
2747         rs6000_emit_eh_toc_restore.
2748         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
2749         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
2750
2751 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
2752
2753         * expr.c (emit_block_move): Don't move anything if size is const 0.
2754         (clear_storage): Test against const0_rtx instead of comparing INTVAL
2755         against 0.
2756
2757 2003-07-15  David S. Miller  <davem@redhat.com>
2758
2759         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
2760         emit nop if the last real insn is CALL_INSN.
2761
2762 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2763
2764         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
2765         as "nul".
2766         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
2767
2768 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2769
2770         * config/i386/winnt.c (associated_type): Artificial methods are not
2771         affected by the import/export status of their class unless they are
2772         COMDAT.
2773         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
2774
2775         * config/i386/winnt.c: Fix GCC copyright comment.
2776
2777 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
2778
2779         PR c++/11531
2780         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
2781         not recursing on hard error.
2782         (diagnostic_for_decl): Likewise.
2783         * diagnostic.def: Rearrange.
2784
2785 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
2786
2787         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2788         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
2789
2790 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
2791             Richard Henderson  <rth@redhat.com>
2792
2793         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
2794         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
2795         (_Unwind_SetGR): Likewise.
2796         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
2797         (Unwind_SpTmp): New typedef.
2798         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
2799         (uw_update_context): Use _Unwind_GetPtr.
2800         (init_dwarf_reg_size_table): Move above uw_init_context_1.
2801         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
2802         Use _Unwind_SetSpColumn.
2803         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
2804         Use _Unwind_GetPtr.
2805
2806 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
2807
2808         * c.opt: Document more options.
2809         * toplev.c (documented_lang_options): Remove all local help strings.
2810
2811 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
2812
2813         PR debug/11473
2814         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
2815         base classes.
2816
2817 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
2818
2819         PR target/10795
2820         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
2821         swap comparison operands if doing so would generate an
2822         unrecognizable insn.
2823
2824 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
2825
2826         PR optimization/11320
2827         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
2828         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
2829         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
2830         current_sched_info->compute_jump_reg_dependencies. Record which
2831         registers are used and which registers are set by the jump.
2832         Clear deps->reg_conditional_sets after a barrier.
2833         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
2834         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
2835         (init_deps): Initialize reg_conditional_sets.
2836         (free_deps): Clear reg_conditional_sets.
2837         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
2838         Mark registers live on entry of the fallthrough block and conditionally
2839         set as set by the jump. Mark registers live on entry of non-fallthrough
2840         blocks as used by the jump.
2841         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
2842         Mark new parameters as unused.
2843
2844 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2845
2846         * doc/invoke.texi: Resync MIPS -march documentation.
2847
2848 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2849
2850         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
2851         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
2852         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
2853         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
2854         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
2855         (mips_issue_rate): Handle PROCESSOR_R9000.
2856         (mips_use_dfa_pipeline_interface): Likewise.
2857         * config/mips/9000.md: New file.
2858         * config/mips/mips.md: Include it.
2859         (define_attr cpu): Add r9000.
2860         (mulsi3_mult3): Use "mul" for rm9000 code.
2861
2862 2003-07-15  Stan Cox  <scox@redhat.com>
2863
2864         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
2865         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
2866         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
2867         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
2868         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
2869         (mips_issue_rate): Handle PROCESSOR_R7000.
2870         (mips_use_dfa_pipeline_interface): Likewise.
2871         * config/mips/7000.md: New file.
2872         * config/mips/mips.md: Include it.
2873         (define_attr cpu): Add r7000.
2874         (mulsi3_mult3): Use "mul" for rm7000 code.
2875
2876 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2877
2878         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
2879         the conditional move patterns.
2880         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
2881         Check for condmove type.
2882         (ir_vr54_arith): Add move type.
2883         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
2884         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
2885
2886 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
2887
2888         * c-opts.c (print_help): Remove.
2889         (c_common_handle_option): Don't handle --help.
2890         * c.opt: Document some options.
2891         (--help): Remove.
2892         * opts.c (print_filtered_help): New.
2893         (print_help): Use it.
2894
2895 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
2896
2897         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
2898         * tree.c: (build_common_tree_nodes_2): Likewise.
2899         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
2900         (V4DF_type_node): New.
2901
2902         * c-opts.c (push_command_line_include): Don't free deferred_opts,
2903         we'll need it.
2904         (finish_options): Reset init_cursor.
2905
2906 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
2907
2908         * expr.c (expand_assignment): Remove an unused argument
2909         SUGGEST_REG.
2910         * expr.h: Update the prototype.
2911         * function.c: Update the callers.
2912         * stmt.c: Likewise.
2913
2914 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
2915
2916         PR debug/11098
2917         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
2918         as DECL_ABSTRACT.
2919
2920 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2921
2922         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
2923         with __cplusplus, not "we must use the C++ compiler's type"
2924         * fixinc/inclhack.def (void_null): Note that Interix needs this.
2925         * fixinc/fixincl.x: Regenerate.
2926
2927 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
2928
2929         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
2930         and unseen_objects from the global data before calling
2931         __deregister_frame_info_bases.
2932         (examine_objects): Insert objects into the seen_objects list,
2933         not unseen_objects.
2934         (_Unwind_Find_FDE): Always unlock the global object lists, even if
2935         we couldn't allocate a data structure to put in it.
2936
2937         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
2938         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
2939         (SET_TYPE_PROTOCOL_LIST): New.
2940         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
2941         (get_object_reference): Likewise.
2942
2943 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
2944
2945         * cfglayout.c (locator_file): Break out from ....
2946         (insn_file): ... here.
2947         (locator_line): Break out from ....
2948         (insn_line): ... here.
2949         * rtl.h (locator_file, locator_line): Declare.
2950         (final_start_function): Set proper line/file info.
2951
2952 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2953
2954         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
2955         handled by pp_c_cast_expression.
2956
2957 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2958
2959         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
2960         allocate 32768 bytes of stack.  Use addition rather than subtraction
2961         when a single insn is enough.
2962         * config/mips/mips.md: Remove insns and splitters for subtracting
2963         constants.
2964         (subsi3): Only accept register operands.
2965         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
2966         (subdi3_internal_3, subsi3_internal_2): Likewise.
2967         (casesi): Use expand_binop to subtract the lower bound.
2968
2969 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2970
2971         * config/mips/mips.c (mips_in_small_data_p): Don't handle
2972         TARGET_MIPS16 specially.
2973
2974 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2975
2976         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
2977         mips_output_aligned_bss.
2978         * config/mips/linux.h: Likewise.
2979         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
2980         * config/mips/mips.c (mips_output_aligned_bss): New function.
2981
2982         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
2983         * config/mips/elf64.h: Likewise.
2984
2985         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
2986         mips_declare_object_name.
2987         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
2988         * config/mips/elf64.h: As for elf.h.
2989         * config/mips/iris6.h: Likewise.
2990         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
2991         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
2992         do...while (0) block.
2993         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
2994         (mips_finish_declare_object): Declare.
2995         * config/mips/mips.c (mips_declare_object_name): New function.
2996         (mips_finish_declare_object): New function.
2997
2998         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
2999         * config/mips/linux.h: Likewise.
3000
3001         * config/mips/mips.c (inside_function): Delete.
3002         (file_in_function_warning, ignore_line_number): Delete.
3003         (mips_output_filename): Don't warn about changing filenames within
3004         a function.
3005         (mips_output_lineno): Update accordingly.
3006         (mips_output_function_prologue): Don't reset the deleted variables.
3007         * config/mips/mips.h (inside_function): Delete.
3008         (file_in_function_warning, ignore_line_number): Delete.
3009
3010         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
3011         * config/mips/elf64.h: Likewise.
3012         * config/mips/openbsd.h: Likewise.
3013         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
3014         * config/mips/linux.h: Likewise.
3015         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
3016         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
3017
3018         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
3019         to the list of include files when using gas.
3020         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
3021         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
3022         * config/mips/elf64.h: Likewise.
3023         * config/mips/iris5.h: Likewise.
3024         * config/mips/linux.h: Likewise.
3025         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
3026         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3027         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
3028         * config/mips/sdb.h: ...this new file.
3029
3030 2003-07-14  Douglas Rupp  <rupp@gnat.com>
3031
3032         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
3033         argument to getcwd; use fixed buffer instead.
3034
3035 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3036
3037         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
3038         * fixinc/fixinc.wrap: Delete.
3039
3040 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3041
3042         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
3043         don't have 2.
3044
3045 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3046
3047         * ggc-page.c (struct globals): Add new fields to keep track of the
3048         total allocated memory and overhead.
3049         (ggc_print_statistics): Print them.
3050         (ggc_alloc): Keep track of the total allocated memory and the
3051         overhead.
3052
3053         * tree.c (dump_tree_statistics): Increase spacing.
3054         (enum tree_node_kind): Move to ...
3055         * tree.h (enum tree_node_kind): ... here.
3056         (tree_node_counts, tree_node_sizes): Declare.
3057
3058 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
3059
3060         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
3061
3062 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3063
3064         PR optimization/11440
3065         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
3066         SIGN_EXTRACT SETs.
3067
3068 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
3069
3070         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
3071         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
3072         (emit_group_load, emit_group_store): Adjust declarations.
3073         Remove most occurrences of #ifdef TREE_CODE.
3074         * expr.c (emit_group_load): Add "type" param, and use
3075         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
3076         aligned accesses if !SLOW_UNALIGNED_ACCESS.
3077         (emit_group_store): Likewise.
3078         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
3079         emit_group_load and emit_group_store calls.
3080         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
3081         BLOCK_REG_PADDING to determine whether we need endian_correction.
3082         (load_register_parameters): Localize vars.  Handle shifting of
3083         small values to the correct end of regs.  Adjust emit_group_load
3084         call.
3085         (expand_call, emit_library_call_value_1): Adjust emit_group_load
3086         and emit_group_store calls.
3087         * function.c (assign_parms): Set mem alignment for stack slots.
3088         Adjust emit_group_store call.  Store values at the "wrong" end
3089         of regs to the stack.  Use BLOCK_REG_PADDING.
3090         (locate_and_pad_parm): Save where_pad.
3091         (expand_function_end): Adjust emit_group_load call.
3092         * stmt.c (expand_value_return): Adjust emit_group_load call.
3093         * Makefile.in (calls.o): Depend on $(OPTABS_H).
3094         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
3095         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
3096         (MUST_PASS_IN_STACK): Define.
3097         (BLOCK_REG_PADDING): Define.
3098         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
3099         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
3100         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
3101         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
3102         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
3103
3104 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
3105
3106         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
3107
3108 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3109
3110         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
3111         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
3112
3113 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3114
3115         PR other/11123
3116         * toplev.c: Don't cut off option names.
3117
3118 2003-07-13  Andreas Jaeger  <aj@suse.de>
3119
3120         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
3121         to integer of different size.
3122
3123 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
3124
3125         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
3126         to (eq (and X 1) 0).
3127
3128 2003-07-13  Andreas Jaeger  <aj@suse.de>
3129
3130         * config.gcc: Add pmmintrin.h for x86_64-*-*.
3131
3132 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3133
3134         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
3135         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
3136         list.  Move these all together down by cpplib.
3137
3138         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
3139         definition of CPPCHAR_SIGNED_T.
3140
3141         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
3142         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
3143         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
3144
3145         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
3146         * cppinit.c (cpp_create_reader): Likewise.
3147
3148         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
3149         * cpptrad.c: Likewise.  All callers changed.
3150         * cpplib.c: All callers changed.
3151         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
3152         * hashtable.h: Define GTY(x) to nothing here too.
3153
3154 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3155
3156         * stor-layout.c (compute_record_mode): Remove very obsolete test
3157         that forces BLKmode for records with fields crossing word boundary.
3158
3159 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3160
3161         * Makefile.in: Remove orphan reference to acconfig.h.
3162
3163 2003-07-13  Andreas Jaeger  <aj@suse.de>
3164
3165         * cgraphunit.c: Convert prototypes to ISO C90.
3166
3167 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3168
3169         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
3170         (for OpenBSD).
3171         * fixinc/fixincl.x: Rebuild.
3172
3173 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3174
3175         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
3176         i?86-*-*.  Use correct name of cache variable.
3177         * configure: Regenerate.
3178
3179 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3180
3181         * config/alpha/alpha.c: Fix comment typos.
3182         * config/alpha/alpha.md: Likewise.
3183         * config/arm/arm.c: Likewise.
3184         * config/arm/arm.md: Likewise.
3185         * config/arm/lib1funcs.asm: Likewise.
3186         * config/avr/avr.md: Likewise.
3187         * config/arm/README-interworking: Fix typos.
3188
3189 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3190
3191         * c-format.c: Fix comment formatting.
3192         * c-typeck.c: Likewise.
3193         * coverage.c: Likewise.
3194         * cppcharset.c: Likewise.
3195         * cpplib.c: Likewise.
3196         * dbxout.c: Likewise.
3197         * gcov-io.h: Likewise.
3198         * toplev.c: Likewise.
3199
3200 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3201
3202         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
3203         fix.
3204
3205 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3206
3207         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
3208         uses three-argument AC_DEFINE so no acconfig.h entries are
3209         needed.
3210         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
3211         which contains the GAS version number as a scaled integer.
3212         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
3213         ability to check for ELF assembler.
3214         (gcc_GAS_CHECK_FEATURE): New macro.
3215         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
3216         assembler feature checks using gcc_GAS_CHECK_FEATURE.
3217         Use three-argument AC_DEFINE everywhere.
3218         * acconfig.h: Deleted.
3219         * config.in, configure: Regenerate.
3220
3221 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3222
3223         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
3224         (on OpenBSD).
3225         * fixinc/fixincl.x: Regenerate.
3226
3227         * fixinc/inclhack.def (gnu_types): Improve comment.
3228
3229 2003-07-12  Andreas Jaeger  <aj@suse.de>
3230
3231         * fp-test.c (main): Use ISO C90 prototype.
3232
3233         * version.c: Remove unneded include of ansidecl.h.
3234
3235         * cgraph.h: Convert prototypes to ISO C90.
3236         * cgraph.c: Likewise.
3237         * fix-header.c: Likewise.
3238         * ra.h: Likewise.
3239         * protoize.c: Likewise.
3240
3241 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
3242
3243         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
3244         warning.
3245
3246 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
3247                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3248
3249         * cgraph.c (cgraph_max_uid): New global variable.
3250         (cgraph_node): Set uid field.
3251         (create_edge): Keep inline flags consistent.
3252         (dump_cgraph): Dump more info.
3253         * cgraph.h (struct cgraph_local_info): Remove inline_many and
3254         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
3255         (struct cgraph_global_info): Add insns, calls, cloned_times,
3256         will_be_output.
3257         (struct cgraph_node): Add uid.
3258         (struct cgraph_edge): Add inline_call.
3259         (cgraph_max_uid, cgraph_inline_p): Declare.
3260         * cgraph.c: Include params.h and fibheap.h
3261         (cgraph_mark_functions_to_inline_once): Kill.
3262         (INSNS_PER_CALL): New constant.
3263         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
3264         static variables.
3265         (cgraph_finalize_function): Do not analyze inlining.
3266         (cgraph_finalize_compilation_unit): Set inlining attributes.
3267         (cgraph_mark_functions_to_output): More consistency checks.
3268         (cgraph_optimize_function): Set current_function_decl to NULL.
3269         (cgraph_expand_function): Use new inline flags.
3270         (cgraph_postorder): Expand from cgraph_expand_functions.
3271         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
3272         (cgraph_inlined_into, cgraph_inlined_callees,
3273         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
3274         cgraph_mark_inline, cgraph_check_inline_limits,
3275         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
3276         cgraph_decide_inlining, cgraph_inline_p): New functions.
3277         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
3278         PARAM_INLINE_UNIT_GROWTH): New parameters.
3279         * tree-inline.c (struct inline_data): New field current_decl.
3280         (expand_call_inline): Avoid forward declarations; use
3281         inlinable_function_p.
3282         (optimize_inline_calls): Set id.current_decl.
3283
3284 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
3285
3286         * configure.in: Remove wrongly added definition of
3287         local_prefix.
3288         * configure: Regenerate.
3289
3290 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
3291
3292         * rtl.def (NOTE): Do not use padding.
3293
3294 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
3295
3296         * doc/install.tex: Update required binutils for i?86-*-linux*
3297
3298 2003-07-11  Richard Henderson  <rth@redhat.com>
3299
3300         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
3301
3302 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
3303
3304         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
3305         TRANSLATION_UNIT_DECL as top_level.
3306
3307 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
3308
3309         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
3310         then fall back to cmpstrM.
3311         * builtins.c (expand_builtin_memcmp): Likewise.
3312         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
3313         (s390_expand_cmpmem): ... this.
3314         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
3315         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
3316         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
3317         to s390_expand_cmpmem.
3318         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
3319         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
3320         to cmpmem*.
3321         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
3322         cmpstr* patterns.
3323         * doc/md.texi (cmpstrM): Describe as String compare insn, not
3324         Block compare insn.
3325         (cmpmemM): Add.
3326
3327 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
3328
3329         * config/i386/freebsd.h (SET_ASM_OP): Remove.
3330         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
3331         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
3332          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
3333
3334 2003-07-11  Richard Henderson  <rth@redhat.com>
3335
3336         * function.c (assign_parms): Don't recombine complex args if
3337         fnargs is unchanged from orig_fnargs.
3338         (split_complex_args): Return args without complex before copying.
3339         Re-layout the modified parameters.
3340
3341 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
3342
3343         * regclass.c (choose_hard_reg_mode): Add third argument.
3344         Changed all callers.
3345         * rtl.h (choose_hard_reg_mode): Update declaration.
3346         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
3347         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
3348
3349 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
3350
3351         * c-decl.c (finish_decl): Handle 'used' here...
3352         * cgraphunit.c (cgraph_finalize_function): ... and here ...
3353         * c-common.c: (handle_used_attribute): ... not here.
3354
3355         * configure.in (onstep): Support --enable-intermodule.
3356         * Makefile.in (OBJS-common): New.
3357         (OBJS-md): New.
3358         (OBJS-archive): New.
3359         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
3360         (OBJS-onestep): New.
3361         (libbackend.a): Support @onestep@.
3362         (libbackend.o): New.
3363         * configure: Regenerate.
3364
3365         * c-common.h (c_reset_state): New prototype.
3366         (c_parse_file): New prototype.
3367         (finish_file): Move prototype from c-tree.h.
3368         * c-decl.c: Include <hashtab.h>.
3369         (builtin_decls): New.
3370         (current_file_decl): New.
3371         (duplicate_decls): Add extra parameter. Change all callers.  Don't
3372         output duplicate common symbols.
3373         (link_hash_hash): New.
3374         (link_hash_eq): New.
3375         (poplevel): Handle popping of the top level.
3376         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
3377         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
3378         (pushdecl_top_level): Likewise.
3379         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
3380         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
3381         (finish_decl): Handle TRANSLATION_UNIT_DECL.
3382         (merge_translation_unit_decls): New.
3383         (c_write_global_declarations): New.
3384         (c_reset_state): New.
3385         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
3386         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
3387         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
3388         TRANSLATION_UNIT_DECL.
3389         (c_objc_common_finish_file): Call merge_translation_unit_decls.
3390         * c-opts.c (in_fnames): Rename from in_fname.
3391         (c_common_decode_option): Handle multiple input filenames.
3392         (c_common_post_options): Likewise.
3393         (c_common_parse_file): Likewise; also, call c_parse_file rather than
3394         yyparse.
3395         * c-parse.in: Move cleanup code to c_parse_file.
3396         (free_parser_stacks): Move contents to c_parse_file.
3397         (c_parse_file): New.
3398         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
3399         for integer types.
3400         (C_DECL_FILE_SCOPE): New.
3401         (finish_file): Move prototype to c-common.h.
3402         (merge_translation_unit_decls): New prototype.
3403         (comptypes): Add extra parameter to prototype.
3404         (c_write_global_declarations): New prototype.
3405         * c-typeck.c (tagged_types_tu_compatible_p): New.
3406         (function_types_compatible_p): Add extra parameter, change all callers.
3407         (type_lists_compatible_p): Likewise.
3408         (comptypes): Likewise.
3409         (struct tagged_tu_seen): New.
3410         (tagged_tu_seen_base): New.
3411         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
3412         (c_mark_addressable): Remove #if 0 code.
3413         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
3414         comment explaining why it shouldn't have to.
3415         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
3416         options.
3417         * cppinit.c (cpp_read_next_file): New.
3418         (cpp_read_main_file): Use it.
3419         * cpplib.c (undefine_macros): New.
3420         (cpp_undef_all): New.
3421         * cpplib.h (cpp_read_next_file): Prototype.
3422         (cpp_undef_all): Prototype.
3423         * langhooks-def.h (write_global_declarations): Remove prototype.
3424         * toplev.h (write_global_declarations): Add prototype.
3425         * tree.c (decl_type_context): Use switch statement, handle
3426         TRANSLATION_UNIT_DECL.
3427         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
3428         (TRANSLATION_UNIT_DECL): New kind of tree.
3429         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
3430         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
3431         * doc/invoke.texi: Make attempt to document new functionality.
3432
3433         2003-05-19  Per Bothner <bothner@apple.com>
3434
3435         * gcc.c (combine_inputs): New.
3436         (process_command): Set combine_inputs.
3437         (do_spec_1): Handle combine_inputs.
3438         (main): Likewise.
3439
3440 2003-07-10  James E Wilson  <wilson@tuliptree.org>
3441
3442         PR optimization/9745
3443         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
3444         loop_insn_emit_before.
3445         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
3446
3447 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3448
3449         * cppcharset.c: Fix comment.
3450         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
3451         (EILSEQ): #define to EINVAL if not already defined.
3452         (convert_using_iconv): #if out when !HAVE_ICONV.
3453         (init_iconv_desc): Handle !HAVE_ICONV here...
3454         (cpp_init_iconv): ...not here.
3455
3456 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
3457
3458         * common.opt: More --help messages.
3459         * opts.c (print_help): Use puts().
3460         * toplev.c (f_options): Remove help text.
3461         (display_help): Don't dump f_options.
3462
3463 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
3464
3465         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
3466         Move i?86-*-interix* to the don't-fix list.
3467         * fixinc/fixinc.interix: Delete with extreme prejudice.
3468
3469 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
3470
3471         PR bootstrap/10758
3472         * doc/install.texi: Document requirements for ia64-*-hpux* target.
3473
3474 2003-07-10  Roger Sayle  <roger@eyesopen.com>
3475
3476         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
3477
3478 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3479
3480         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
3481         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
3482         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
3483         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
3484         convert_no_conversion, convert_using_iconv): New functions.
3485         (APPLY_CONVERSION): New macro.
3486         (struct conversion, conversion_tab): New data structure.
3487         (init_iconv_desc): Check conversion_tab for a custom conversion
3488         primitive before trying to use iconv.
3489         (convert_cset): Deleted.
3490         (cpp_init_iconv): Use UTF- terminology, not UCS-.
3491         (_cpp_destroy_iconv): Update to match.
3492         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
3493         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
3494         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
3495         (_cpp_interpret_string_notranslate): New function, moved here
3496         from cpplib.c.
3497
3498         * cpphash.h (convert_f, struct cset_converter): New types.
3499         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
3500         are now struct cset_converter, not bare iconv_t.
3501         Update prototypes.
3502         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
3503         all callers changed.
3504
3505 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
3506
3507         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
3508         to opts.sh command line.
3509         * opts.sh: Write to temporary files with a move-if-change at the end.
3510
3511 2003-07-10  Denis Chertykov  <denisc@overta.ru>
3512             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3513
3514         * combine.c (gen_binary): Handle the CLOBBER rtx and
3515         don't build a binary operation with it.
3516
3517 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3518
3519         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
3520         store_killed_after, store_killed_before): Keep track of the correct
3521         dependency function to use.
3522
3523 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
3524         * toplev.c (do_compile): Don't try to open dump files before
3525         lang_dependent_init initializes dump_base_name.
3526
3527 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3528
3529         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
3530         Use ARRAY_SIZE.
3531         * config/frv/frv.c (frv_expand_builtin): Likewise.
3532         * config/sh/sh.c (sh_media_init_builtins): Likewise.
3533
3534 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
3535
3536         PR c++/10032
3537         * doc/invoke.texi (C++ Dialect Options): Change documentation of
3538         -fpermissive.
3539
3540 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
3541
3542         * tm.texi (RETURN_ADDR_OFFSET): Document.
3543
3544 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
3545
3546         * gcov-io.h: Update documentation.
3547         (GCOV_UNSIGNED2STRING): New.
3548         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3549         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3550         GCOV_TAG_SUMMARY_LENGTH): Adjust.
3551         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
3552         GCOV_TAG_COUNTER_NUM): New.
3553         (GCOV_BLOCK_SIZE): Number of words.
3554         (gcov_var): Adjust buffer type.
3555         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
3556         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
3557         count, not byte count.
3558         (gcov_open): Adjust overread init.
3559         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
3560         gcov_write_string, gcov_write_tag, gcov_write_length,
3561         gcov_write_tag_length): Adjust.
3562         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
3563         (gcov_sync, gcov_seek): Adjust.
3564         * gcov-dump.c (print_usage): Show gcc version only.
3565         (dump_file): Use GCOV_UNSIGNED2STRING.
3566         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
3567         * gcov.c (print_version): Show gcc version only.
3568         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
3569         GCOV_TAG_*_NUM macros.
3570         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
3571         GCOV_TAG_COUNTER_LENGTH.
3572         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
3573         Use GCOV_TAG_COUNTER_NUM.
3574         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
3575         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
3576
3577 2003-07-10  Andreas Schwab  <schwab@suse.de>
3578
3579         * gcov-dump.c (dump_file): Fix missing address operator.
3580
3581 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3582
3583         PR c/11449
3584         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
3585         of HOST_WIDE_INT.
3586         (fold_single_bit_test): If sign_bit_p() fails, assume that the
3587         bit being tested is not a sign bit.
3588
3589 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3590
3591         * config/h8300/h8300.md (a peephole2): New.
3592
3593 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
3594
3595         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
3596         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
3597         from ld-linux.so.2 to ld.so.1.
3598         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
3599         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
3600         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
3601         nor -Wl,-rpath-link.
3602         (LIB_SPEC): Add -rpath-link if !static.
3603         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
3604         * config/mn10300/mn10300.c (mn10300_protect_label): New
3605         variable.
3606         * config/mn10300/linux.h (PRINT_OPERAND,
3607         PRINT_OPERAND_ADDRESS): Set it during their execution.
3608         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
3609         mn10300_protect_label is set.
3610         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
3611         -Wl,-rpath-link.
3612         (LIB_SPEC, STARTFILE_SPEC): Define.
3613         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3614         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
3615         FLOAT_BIT_ORDER_MISMATCH.
3616         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
3617         * config.gcc (am33_2.0-*-linux*): Added.
3618         * config/mn10300/linux.h: New.
3619         * config/mn10300/t-linux: New.
3620
3621 2003-07-10  Andreas Jaeger  <aj@suse.de>
3622
3623         * fold-const.c: Properly wrap prototypes.
3624
3625 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
3626
3627         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
3628         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
3629         Moved from...
3630         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
3631         * config/mn10300/mn10300.h: GTY-declare it.
3632         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
3633         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
3634         prototype.  Use incoming RTL argument.
3635         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3636         * config/mn10300/mn10300.md (int_label): Move C statements...
3637         (GOTaddr2picreg): ... here.
3638         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
3639         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
3640         * config/mn10300/mn10300.c (mn10300_encode_section_info):
3641         ... here.  New function.
3642         (TARGET_ENCODE_SECTION_INFO): Define to it.
3643         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
3644         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
3645         pattern name.
3646         (mn10300_loadPC): Define as insn splittable after reload.
3647         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3648         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
3649         be defined in .rodata even in PIC, now that the assembler
3650         supports that.
3651         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
3652         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
3653         symbol take an underscore prefix.
3654         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3655         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
3656         legitimize_pic_address): Declare.
3657         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
3658         the PIC register as fixed.
3659         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
3660         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
3661         PIC.
3662         (LEGITIMATE_PIC_OPERAND_P): Define.
3663         (PIC_OFFSET_TABLE_REGNUM): Define.
3664         (GOT_SYMBOL_NAME): Define.
3665         (SYMBOLIC_CONST_P): Define.
3666         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
3667         symbols.
3668         (MN10300_GLOBAL_P): Test it.
3669         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
3670         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
3671         * config/mn10300/mn10300.c (print_operand): Handle unspec.
3672         (expand_prologue): Set PIC register.
3673         (call_address_operand): Don't match SYMBOL_REFs in PIC.
3674         (legitimize_address): Call legitimize_pic_address.
3675         (legitimize_pic_address): New fn.
3676         (legitimate_pic_operand_p): New fn.
3677         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
3678         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
3679         UNSPEC_PLT): New constants.
3680         (pop_pic_reg): New insn.
3681         (movsi): Adjust non-PIC addresses.
3682         (builtin_setjmp_receiver): Restore the PIC register.
3683         (casesi): New insn.
3684         (call): Adjust non-PIC addresses.
3685         (int_label, GOTaddr2picreg): New expands.
3686         (am33_loadPC): New insn.
3687         (mn10300_loadPC): New expand.
3688         (call_next_insn): New insn.
3689         (add_GOT_to_pic_reg): New expand.
3690         (symGOT2reg, symGOT2reg_i): New expands.
3691         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
3692         (sym2PIC, sym2PLT): New expands.
3693
3694 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
3695
3696         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
3697         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
3698         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
3699         to flag_unsafe_math_optimizations.
3700         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3701         * config/mn10300/mn10300.c (expand_prologue): Mark
3702         FP-register-saving insns as frame-related.
3703         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3704         * config/mn10300/mn10300.c
3705         (mn10300_get_live_callee_saved_regs): Don't search past
3706         LAST_EXTENDED_REGNUM.
3707         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
3708         * config/mn10300/mn10300.md: Remove excessive line breaks from
3709         `@' output patterns that were accounted as additional
3710         alternatives.
3711         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
3712         Re-introduce changes accidentally removed in Richard Sandiford's
3713         2000-12-05's patch.
3714         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3715         Re-instate am33-2 lost in merge from net GCC.
3716         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
3717         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
3718         floating-point registers.
3719         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
3720         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
3721         pessimizations that had gone in on 2000-05-08.
3722         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
3723         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
3724         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
3725         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
3726         operand 0.
3727         * (movhi): Likewise.
3728         * (movsi): Likewise.
3729         * (movsf): Likewise.
3730         * (movdi): Likewise.
3731         * (movdf): Likewise.
3732         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
3733         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
3734         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
3735         (expand_prologue, expand_epilogue): Save and restore FP regs.
3736         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
3737         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
3738         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
3739         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
3740         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
3741         Do not clobber cc0.
3742         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
3743         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
3744         Discourage the two-argument, longer opcodes.
3745         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
3746         ones.
3747         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
3748         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
3749         * config/mn10300/mn10300.md (cmpsf): New pattern.
3750         (branch): Test mdep.fpCC and output fbCC.
3751         * config/mn10300/mn10300.c (print_operand): Output conditions.
3752         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
3753         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
3754         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
3755         mulsf3, divsf3): Use the `F' constraint for FP values.
3756         * config/mn10300/mn10300.c (const_1f_operand): New function.
3757         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
3758         * config/mn10300/mn10300.md (sqrtsf2): New expand.
3759         (rsqrtsf2): New insn.
3760         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
3761         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
3762         previous check-in.
3763         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
3764         * config/mn10300/mn10300.md (abssf2, negdf2): On
3765         TARGET_AM33_2, expand to...
3766         (abssf2_am33_2, negdf2_am33_2): New insns.
3767         (addsf3, subsf3, mulsf3, divsf3): Likewise.
3768         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
3769         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
3770         movdi, movdf): Added FP regs.
3771         * invoke.texi (-mam33-2, -mno-am33-2): Document.
3772         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
3773         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
3774         New macros.
3775         (REGNO_AM33_2_FP_P): Renamed to...
3776         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
3777         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
3778         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
3779         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
3780         regs from GENERAL_REGS.
3781         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
3782         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
3783         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
3784         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
3785         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
3786         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
3787         as FP_REGS.
3788         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
3789         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
3790         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
3791         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
3792         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
3793         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
3794         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
3795         AM33/2.0 floating-point registers.
3796         (CONDITIONAL_REGISTER_USAGE): Adjust.
3797         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
3798         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
3799         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
3800         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
3801         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
3802         (MULTILIB_DIRNAMES): Likewise.
3803         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
3804         `__AM33_2__' when `-mam33-2' is given.
3805         (TARGET_AM33_2): Define.
3806         (TARGET_SWITCHES): Adjust.
3807         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
3808         when appropriate.
3809
3810 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
3811
3812         * doc/install.texi: Add missing @.
3813
3814 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
3815
3816         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
3817
3818 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
3819
3820         PR/11144
3821         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
3822
3823 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3824
3825         PR bootstrap/11043
3826         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
3827         "x-crtfini.o" with "crtinit.o", "crtfini.o".
3828
3829         * fixinc/inclhack.def (limits_ifndefs): Add select test.
3830         * fixinc/fixincl.x: Rebuild.
3831
3832         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
3833         * fixinc/fixincl.x: Rebuild.
3834
3835 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
3836
3837         * doc/install.texi (Configuration): Document the valgrind option
3838         to --enable-checking.
3839
3840 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
3841
3842         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3843
3844 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3845
3846         * c-lex.c (cb_ident): Cast cstr.text to const char *.
3847
3848 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
3849
3850         * gcov-io.h: Update documentation.
3851         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
3852         GCOV_NOTE_MAGIC.
3853         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
3854         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
3855         (struct gcov_var): Change buffer's type. Add endian flag.
3856         (gcov_open): Remove mode in libgcov.
3857         (gcov_magic): Prototype.
3858         * gcov-io.c (from_file): New.
3859         (gcov_open): Clear endian flag.
3860         (gcov_magic): New.
3861         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
3862         pointers.
3863         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
3864         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
3865         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
3866         * gcov-iov.c (main): Correct cast.
3867         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
3868         conversion.
3869         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
3870         (coverage_init): Use GCOV_NOTE_SUFFIX.
3871         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
3872         Rename to gcov_version, and return flag.
3873         (gcov_exit): Use gcov_version.
3874         (__gcov_init): Use gcov_version.
3875         * Makefile.in (coverageexts): Update.
3876         * gcov.c (print_version): Remove endianness conversion.
3877         (create_file_names): Use GCOV_NOTE_SUFFIX.
3878         (read_graph_file): Use gcov_magic.
3879         (read_count_file): Likewise.
3880         * gcov-dump.c (dump_file): Remove endianness conversion, use
3881         gcov_magic.
3882
3883 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
3884
3885         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
3886         coverage is on.
3887         * configure: Regenerated.
3888         * Makefile.in (ALL_CFLAGS): Correct its comment.
3889
3890 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
3891
3892         * fold-const.c (make_range): Do not access operand 1 for a
3893         zero-operand operator.
3894
3895 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
3896
3897         * toplev.c (warn_dummy, W_options): Die.
3898         (display_help): Don't print W_options.
3899         * common.opt: Add W_options help from toplev.c.
3900
3901 2003-07-09  Andreas Jaeger  <aj@suse.de>
3902
3903         * opts.c (wrap_help): Only pass int arguments as arguments to
3904         printf's '*' modifier.  Change argument of function.
3905
3906 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
3907
3908         * doc/invoke.texi: Fix misspelling of "@item".
3909
3910 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
3911
3912         * config/i386/i386.md: Remove an old comment about
3913         NOTICE_UPDATE_CC.
3914
3915 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
3916
3917         * cgraph.c (cgraph_node_name): New function.
3918         (dump_cgraph): Use it.
3919         * cgraph.h (cgraph_dump_file): Declare.
3920         (cgraph_node_name): Declare.
3921         * cgraphunit.c: Include timevar.h
3922         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
3923         (cgraph_optimize_function): Use TV_INTEGRATION.
3924         (cgraph_mark_local_functions): reorganize dumps.
3925         (cgraph_mark_functions_to_inline_once): Likewise.
3926         (cgraph_optimize): Likewise; use timevar.
3927         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
3928         * toplev.c (dump_file_index): Add DFI_cgraph.
3929         (dump_file_info): Likewise.
3930         (cgraph_dump_file): New global variable.
3931         (do_compile): Open and close cgraph dump.
3932         * invoke.texi (-d): Document new flag; renumber.
3933
3934 2003-07-08  Roger Sayle  <roger@eyesopen.com>
3935
3936         PR c/11370
3937         * calls.c (emit_call_1): Don't bother popping the arguments off of
3938         the stack after a noreturn function call;  The adjustment is dead.
3939         (expand_call): Likewise.
3940
3941 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
3942
3943         * expr.c (MOVE_MAX_PIECES): Move from here...
3944         * defaults.h (MOVE_MAX_PIECES): ... to here.
3945
3946 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
3947
3948         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
3949
3950 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3951
3952         * genattr.c (internal_dfa_insn_code): Don't prototype.
3953         * genattrtab.c (attr_desc): Add `static_p' field.
3954         (expand_units): Make blockage range and ready cost functions
3955         static.
3956         (write_attr_get): Don't add extern prototypes in C file.  Mark
3957         static functions as appropriate.
3958         (find_attr, make_internal_attr): Initialize static_p.
3959         * genattrtab.h (ATTR_STATIC): New macro.
3960         * genautomata.c (output_internal_reset_func): Mark output function
3961         as inline.
3962         (make_internal_dfa_insn_code_attr): Mark output function as static.
3963
3964 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3965
3966         * genattrtab.h: Add new macros for attr `special' flags.
3967         * genattrtab.c (attr_desc): Reorder/resize fields better.
3968         Use attr `special' macros in all calls to make_internal_attr.
3969         * genautomata.c: Likewise.
3970
3971 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
3972
3973         * c-common.c (c_estimate_num_insns_1): New static function.
3974         (c_estimate_num_insns): New global function.
3975         * c-common.h (DECL_NUM_STMTS): Rename to...
3976         (DECL_ESTIMATED_INSNS): ... this.
3977         (c_estimate_num_insns): Declare.
3978         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
3979         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3980         * c-semantics.c (add_stmt): Do not account statements.
3981         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
3982         New.
3983         * langhooks.h (lang_hooks_for_tree_inlining): Add
3984         estimate_num_insns
3985         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
3986         to 100.
3987         (max-inline-insns): set to 300.
3988         (min-inline-insns): set to 10.
3989         * tree-inline.c (struct inline_data): Rename inlined_stmts to
3990         inlined-insns.
3991         (INSNS_PER_STMT): Kill.
3992         (inlinable_function_p): Compute and store body size.
3993         (expand_call_inline): Likewise.
3994         (optimize_inline_calls): Likewise.
3995
3996 2003-07-08  James E Wilson  <wilson@tuliptree.org>
3997
3998         PR target/10021
3999         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
4000         loop over new variable t2 instead of t.
4001
4002 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
4003
4004         PR bootstrap/11455
4005         * config/i386/winnt.c: Replace use of error(), warning() with
4006         error_with_decl(), warning_with_decl(),  throughout.
4007
4008 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
4009
4010         * opts.c (wrap_help): Use unsigned int, not size_t.
4011
4012 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
4013
4014         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
4015         as .file/.loc directives are incompatible with linker relaxation.
4016
4017 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
4018
4019         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
4020         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
4021         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
4022         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
4023         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
4024         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
4025         Escape { and } characters which are not part of range expressions.
4026         * fixinc/fixincl.x: Regenerate.
4027         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
4028
4029 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
4030
4031         PR c/1687
4032         * tree-inline.c (find_alloca_call): Use
4033         walk_tree_without_duplicates, instead of walk_tree.
4034         (find_builtin_longjmp_call): Likewise.
4035         * c-objc-common.c (c_cannot_inline_fn): Likewise.
4036         * c-semantics.c (find_reachable_label): Likewise.
4037
4038 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
4039
4040         PR c/11420
4041         * config/i386/i386.c (ix86_check_movabs): New function.
4042         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
4043         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
4044         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
4045
4046 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
4047
4048         * Makefile.in (install-po): Cope with empty CATALOGS.
4049
4050 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
4051
4052         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4053         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
4054         (SECTION_FUNCTION_TEMPLATE): Delete.
4055         * config/mips/elf.h: As for elf64.h.
4056         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
4057         * config/mips/linux.h: As for elf.h
4058         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4059         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
4060         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
4061         of in_sdata from current_section_name and current_section_flags.
4062         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4063         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
4064         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
4065         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
4066         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
4067         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
4068         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
4069         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
4070         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
4071         (override_options): Remove setting of MASK_GPOPT.
4072         (mips_output_external): Use mips_in_small_data_p to check whether a
4073         symbol needs an .extern directive.  Don't emit such directives for
4074         TARGET_EXPLICIT_RELOCS.
4075         (mips_declare_object): Update accordingly.
4076         (mips_select_rtx_section): Call named_section rather than
4077         SMALL_DATA_SECTION.
4078         (mips_select_section): Use default_elf_section_section for everything
4079         except .text string constants.
4080         (mips_in_small_data_p): New function.
4081         (mips_encode_section_info): Remove small data handling.
4082         (mips_unique_section): Delete.
4083         (iris6_section_type_flags): New function.
4084         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
4085
4086 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4087
4088         PR Target/11453
4089         * pa.md: Disparage all mtsar constraints.
4090         (extzv, extv, insv): Don't fail on length of {32|64}.
4091
4092 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
4093
4094         * system.h: Poison MAP_CHARACTER.
4095         * config/i370/i370-protos.h (mvs_map_char): Delete.
4096         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
4097         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
4098         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
4099
4100 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
4101
4102         * toplev.c (randomize): Correct call to time().
4103
4104 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
4105
4106         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
4107         REG_EQUIV notes as well.
4108
4109 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
4110
4111         * doc/md.texi: Fix the description of addmodecc.
4112
4113 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
4114
4115         * Makefile.in (top_builddir): Set to "..", not ".".
4116         (INTLLIBS, INTLDEPS): Delete.
4117         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
4118         (LIBDEPS): Add $(LIBICONV_DEP).
4119         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
4120         (INCLUDES): Replace -I../intl with @INCINTL@.
4121         ($(top_builddir)/intl/libintl.a): Delete rule.
4122         (stage2-start, stage3-start, stage4-start, stageprofile-start,
4123         stagefeedback-start): Use $$ for variable to be evaluated by
4124         shell, not make.
4125         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
4126         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
4127         * aclocal.m4: sinclude ../config/progtest.m4.  Add
4128         contents of lcmessage.m4 from gettext distro.
4129         * configure.in: Check for wchar.h and setlocale.  Set
4130         LIBICONV_DEP to the empty string and substitute it.
4131         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
4132         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
4133         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
4134         in $LIBINTL, to avoid linking it twice.
4135         * configure, config.in: Regenerate.
4136
4137 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4138
4139         * fixinc/mkfixinc.sh: Remove winnt support.
4140         * fixinc/fixinc.winnt: Delete with extreme prejudice.
4141
4142 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
4143
4144         * Makefile.in: Update.
4145         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
4146         * c.opt: Update documentation.
4147         * common.opt: Add some help text.
4148         * opts.c: Include intl.h.
4149         (wrap_help, print_help): New.
4150         (find_opt, handle_option, common_handle_option): opt_text now
4151         contains the '-'.  Use print_help to output help.
4152         * opts.h (struct cl_option): New member "help".
4153         * opts.sh: Update to handle help text output and to prepend
4154         options with '-'.
4155         * toplev.c (display_help): Remove some help text.
4156
4157 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
4158             Fariborz Jahanian  <fjahanian@apple.com>
4159
4160         * configure.in: Test for PowerPC mfcr field support in assembler.
4161         * config.in, configure: Regenderated.
4162
4163         * config/rs6000/power4.md: Add mfcrf reservation.
4164         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
4165         * config/rs6000/rs6000.c (mfcr_operation): Define.
4166         (print_operand): Add 'Q' case for mfcrf.
4167         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
4168         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
4169         (movcc_internal1): Emit optional field operand for mfcr and set
4170         "type" attribute appropriately.
4171         (mfcr SCC): Likewise.
4172         (movesi_from_cr_one): New.
4173
4174 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4175
4176         * config/i386/i386.md: Correct check-in of incorrect version.
4177
4178 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4179
4180         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
4181         adjacent stdio calls.
4182         * c-decl.c (c_print_identifier): Likewise.
4183         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
4184         * print-rtl.c (print_rtx): Likewise.
4185         * print-tree.c (print_node_brief, print_node): Likewise.
4186         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
4187
4188         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
4189         * config.in, configure: Regenerated.
4190
4191 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4192
4193         PR target/10979
4194         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
4195         Changed to define_expand patterns that copy operand[1] to prevent
4196         it from being clobbered before emitting an atan2?f3_1 insn.
4197         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
4198         patterns that actually specify the behaviour of x87's FPATAN.
4199
4200 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
4201
4202         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
4203         clearing of SYMBOL_FLAG_LOCAL bit.
4204         If vcall_offset fits into signed 16-bit immediate, use
4205         one instruction for both addition and load.
4206
4207 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
4208
4209         * opts.c (common_handle_option): Correct handling of the
4210         -falign- switches that do and don't take an argument.
4211
4212 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4213
4214         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
4215         today.
4216         (pushhi1_h8300hs): Likewise.
4217
4218 2003-07-07  Andreas Jaeger  <aj@suse.de>
4219
4220         * genextract.c: Convert remaining prototypes to ISO C90.
4221
4222         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
4223         * fold-const.c (fold_single_bit_test): Likewise.
4224         * diagnostic.c (default_diagnostic_finalizer): Likewise.
4225         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
4226
4227         * gengtype.c (write_array): Generate ISO C90 prototypes.
4228
4229         * genflags.c (gen_proto): Generate ISO C90 prototypes.
4230
4231 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4232
4233         PR optimization/11059
4234         * expr.c (can_store_by_pieces): Return true if length is zero.
4235         (store_by_pieces): If length is zero and endp is two, abort,
4236         othwerise, if length is zero and endp is not two, return "to".
4237         (clear_by_pieces): Do nothing if length is zero.
4238         (clear_storage): Do nothing if length is zero.
4239         (store_constructor): Simplify code when size is zero, or the
4240         target has already been cleared.  This avoids emitting a
4241         blockage instruction when initializing empty structures.
4242
4243 2003-07-07  Andreas Jaeger  <aj@suse.de>
4244
4245         * mips-tfile.c: Convert prototypes to ISO C90.
4246         * mips-tdump.c: Convert prototypes to ISO C90.
4247
4248 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
4249
4250         * rtl.h (emit_line_note): Take a location_t.
4251         (emit_line_note_force): Remove.
4252         (set_file_and_line_for_statement): Take a location_t.
4253         * tree.g (emit_line_note): Take a location_t.
4254         * emit-rtl.c (emit_line_note): Take a location_t.
4255         (emit_line_note_force): Remove.
4256         * function.c (init_function_start): Adjust emit_line_note call.
4257         (expand_function_end): Use force_next_line_note, not
4258         emit_line_note_force.
4259         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
4260         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
4261         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
4262         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
4263         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
4264         genrtl_continue_stmt, genrtl_switch_stmt,
4265         genrtl_asm_stmt): Likewise.
4266         * expr.c (expand_expr): Likewise.
4267         * integrate.c (expand_inline_function): Likewise.
4268         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
4269         (expand_decl_init): Adjust emit_line_note call.
4270
4271 2003-07-07  Dale Johannesen  <dalej@apple.com>
4272
4273         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
4274
4275 2003-07-07  Andreas Jaeger  <aj@suse.de>
4276
4277         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
4278         * config/i386/i386.c: Likewise.
4279
4280 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4281
4282         * config/h8300/h8300.md: Use gen_int_mode instead of
4283         GEN_INT (trunc_int_for_mode (...)).
4284
4285 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4286
4287         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
4288         2 bytes and then subtract 2 from the stack pointer.
4289         (pushhi1_h8300hs): Likewise.
4290
4291 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
4292
4293         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
4294         -frandom-seed.
4295         * configure: Regenerated.
4296         * Makefile.in: Remove extraneous comment.
4297         * toplev.c (randomize): Protect against potential multiple calls.
4298         * doc/invoke.texi (-frandom-seed): Document use for in coverage
4299         files.
4300
4301 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4302             Eric Botcazou  <ebotcazou@libertysurf.fr>
4303
4304         PR optimization/11198
4305         * alias.c (objects_must_conflict_p): Return 1 if the types have
4306         the same alias set, not if the alias sets only conflict.
4307
4308 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
4309
4310         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
4311         (convert_cset): Change inbuf to type ICONV_CONST char.
4312         * Makefile.in (LIBS): Add LIBICONV.
4313
4314         * doc/invoke.texi (-falign-functions): Document that
4315         when n is zero then a machine-dependent default is used.
4316         (-falign-labels): Document that when n is zero then a
4317         machine-dependent default is used and that -falign-labels =1
4318         is equivalent to -fno-align-labels.
4319         (-falign-loops): Likewise.
4320         (-falign-jumps): Likewise.
4321
4322 2003-07-06  Art Haas  <ahaas@airmail.net>
4323
4324         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
4325         initializer syntax.
4326
4327 2003-07-06  James E Wilson  <wilson@tuliptree.org>
4328
4329         PR optimization/9812
4330         * rtl.h (mem_for_const_double): Delete prototype.
4331         * varasm.c (mem_for_const_double): Delete function.
4332         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
4333         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
4334         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
4335         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
4336         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
4337         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
4338         comment about confused support for XFmode constants.
4339
4340 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
4341
4342         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
4343
4344 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
4345
4346         * config/h8300/h8300.c: Fix comment typos.
4347         * config/h8300/h8300.md: Likewise.
4348         * config/i386/athlon.md: Likewise.
4349         * config/i386/i386.c: Likewise.
4350         * config/i386/pentium.md: Likewise.
4351         * config/ia64/ia64.c: Likewise.
4352         * config/ia64/itanium1.md: Likewise.
4353         * config/ia64/itanium2.md: Likewise.
4354         * config/m32r/m32r.md: Likewise.
4355         * config/m68hc11/m68hc11.c: Likewise.
4356         * config/mcore/mcore.c: Likewise.
4357         * config/mips/sr71k.md: Likewise.
4358         * config/mips/t-iris5-as: Likewise.
4359         * config/mmix/mmix.h: Likewise.
4360         * config/ns32k/ns32k.h: Likewise.
4361         * config/ns32k/NOTES: Fix a typo.
4362
4363 2003-07-06  Andreas Jaeger  <aj@suse.de>
4364
4365         * stmt.c: Convert remaining prototypes to ISO C90.
4366         * cfglayout.c: Likewise.
4367         * dbxout.c: Likewise.
4368         * gcc.c: Likewise.
4369         * genemit.c: Likewise.
4370
4371         * basic-block.h: Convert prototypes to ISO C90.
4372         * c-parse.in: Likewise.
4373         * c-pragma.h: Likewise.
4374         * c-typeck.c: Likewise.
4375         * cfghooks.h: Likewise.
4376         * cfgloopanal.c: Likewise.
4377         * dbxout.h: Likewise.
4378         * debug.h: Likewise.
4379         * dwarf2asm.h: Likewise.
4380         * gcov.c: Likewise.
4381         * gengtype-lex.l: Likewise.
4382         * sched-int.h: Likewise.
4383         * timevar.c: Likewise.
4384
4385 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
4386
4387         * c-common.h (c_comon_handle_filename,
4388         c_common_missing_arguement): New.
4389         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
4390         LANG_HOOKS_MISSING_ARGUMENT): New.
4391         * c-opts.c (missing_arg): Rename c_common_missing_argument,
4392         update to be an appropriate langhook.
4393         (c_common_handle_option): Don't handle filenames.
4394         (c_common_handle_filename): New.
4395         * hooks.c (hook_void_constcharptr,
4396         hook_bool_constcharptr_size_t_false): New.
4397         * hooks.h (hook_void_constcharptr,
4398         hook_bool_constcharptr_size_t_false): New.
4399         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
4400         LANG_HOOKS_MISSING_ARGUMENT): New.
4401         (LANG_HOOKS_INITIALIZER): Update.
4402         * langhooks.h (struct lang_hooks): Add handle_filename and
4403         missing_argument.
4404         * opts.c (handle_option): Don't handle filenames here, but ...
4405         (handle_options): ... here.
4406         (common_handle_option): Don't handle missing arguments here.
4407         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
4408         LANG_HOOKS_MISSING_ARGUMENT): New.
4409
4410 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
4411
4412         * Makfile.in: Remove traces of mbchar.
4413         * c-parse.in (MULTIBYTE_CHARS): Remove.
4414         * config.in (MULTIBYTE_CHARS): Remove.
4415         * configure: Remove --enable-mbchar.
4416         * configure.in: Remove --enable-mbchar.
4417         * mbchar.c, mbchar.h: Remove.
4418         * system.h: Poison MULTIBYTE_CHARS.
4419         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
4420         * config/linux.h (MULTIBYTE_CHARS): Remove.
4421         * config/svr4.h (MULTIBYTE_CHARS): Remove.
4422         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
4423
4424 2003-07-06  Andreas Jaeger  <aj@suse.de>
4425
4426         * varray.c (varray_check_failed): Fix typo.
4427
4428         * unroll.c: Convert prototypes to ISO C90.
4429         * varasm.c: Likewise.
4430         * varray.c: Likewise.
4431         * varray.h: Likewise.
4432         * vmsdbgout.c: Likewise.
4433         * xcoffout.c: Likewise.
4434         * xcoffout.h: Likewise.
4435
4436 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4437
4438         * gcov-io.h: Add a local time stamp.
4439         (struct gcov_info): Add stamp field.
4440         (gcov_truncate): New.
4441         * coverage.c (read_counts_file): Skip the stamp.
4442         (coverage_begin_output): Write the stamp.
4443         (build_gcov_info): Declare and init the stamp.
4444         (coverage_finish): Only unlink data file, if stamp is zero.
4445         * gcov-dump.c (dump_file): Dump the stamp.
4446         * gcov.c (bbg_stamp): New.
4447         (release_structures): Clear bbg_stamp.
4448         (read_graph_file): Read stamp.
4449         (read_count_file): Check stamp.
4450         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
4451
4452 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4453
4454         * tree.h (default_flag_random_seed): Remove.
4455         * toplev.h (local_tick): Declare.
4456         * tree.c (flag_random_seed, default_flag_random_seed): Move to
4457         toplev.c.
4458         (append_random_chars): Don't call default_flag_random_seed.
4459         * toplev.c (flag_random_seed): Define here. Set local_tick.
4460         (local_tick): Define.
4461         (randomize): New, moved from tree.c.
4462         (print_switch_values): Adjust.
4463         (toplev_main): Call randomize.
4464
4465 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4466
4467         * tree.h (crc32_string): Declare.
4468         * tree.c (append_random_chars): Remove.
4469         (crc32_string): New.
4470         (get_file_function_name_long): Use crc32_string here.
4471
4472 2003-07-06  Andreas Jaeger  <aj@suse.de>
4473
4474         * gcc.c: Convert prototypes to ISO C90.
4475         * gcc.h: Likewise.
4476         * gcov-dump.c: Likewise.
4477         * gcov-iov.c: Likewise.
4478         * gcse.c: Likewise.
4479         * genattrtab.h: Likewise.
4480         * ggc.h: Likewise.
4481         * global.c: Likewise.
4482         * graph.c: Likewise.
4483         * graph.h: Likewise.
4484         * hosthooks.h: Likewise.
4485         * hooks.h: Likewise.
4486         * hooks.c: Likewise.
4487         * hashtable.h: Likewise.
4488         * hashtable.c: Likewise.
4489         * haifa-sched.c: Likewise.
4490         * integrate.h: Likewise.
4491         * integrate.c: Likewise.
4492         * input.h: Likewise.
4493         * ifcvt.c: Likewise.
4494         * jump.c: Likewise.
4495         * langhooks-def.h: Likewise.  Add extern to prototypes.
4496         * langhooks.c: Likewise.
4497         * langhooks.h: Likewise.
4498         * lcm.c: Likewise.
4499         * local-alloc.c: Likewise.
4500         * loop-init.c: Likewise.
4501         * loop-unroll.c: Likewise.
4502         * loop-unswitch.c: Likewise.
4503         * loop.c: Likewise.
4504         * loop.h: Likewise. Add extern to prototypes.
4505         * machmode.h: Likewise.
4506         * main.c: Likewise.
4507         * mbchar.c: Likewise.
4508         * mbchar.h: Likewise.
4509         * mkdeps.c: Likewise.
4510         * mkdeps.h: Likewise.
4511         * optabs.c: Likewise.
4512         * optabs.h: Likewise.
4513         * output.h: Likewise.
4514         * gccspec.c: Likwise.
4515         * postreload.c: Likewise.
4516         * prefix.c: Likewise.
4517         * prefix.h: Likewise.
4518         * print-rtl.c: Likewise.
4519         * print-tree.c: Likewise.
4520         * profile.c: Likewise.
4521         * read-rtl.c: Likewise.
4522         * real.c: Likewise.
4523         * real.h: Likewise.
4524         * recog.c: Likewise.
4525         * recog.h: Likewise.
4526         * reg-stack.c: Likewise.
4527         * regclass.c: Likewise.
4528         * regmove.c: Likewise.
4529         * regrename.c: Likewise.
4530         * regs.h: Likewise.
4531         * reload.c: Likewise.
4532         * reload.h: Likewise.
4533         * reload1.c: Likewise.
4534         * reorg.c: Likewise.
4535         * resource.c: Likewise.
4536         * resource.h: Likewise.
4537         * rtl-error.c: Likewise.
4538         * rtl.c: Likewise.
4539         * rtl.h: Likewise.
4540         * rtlanal.c: Likewise.
4541         * sbitmap.c: Likewise.
4542         * sbitmap.h: Likewise.
4543         * scan-decls.c: Likewise.
4544         * scan.c: Likewise.
4545         * sched-deps.c: Likewise.
4546         * sched-ebb.c: Likewise.
4547         * sched-int.h: Likewise.
4548         * sched-rgn.c: Likewise.
4549         * sched-vis.c: Likewise.
4550         * sibcall.c: Likewise.
4551         * simplify-rtx.c: Likewise.
4552         * sreal.c: Likewise.
4553         * sreal.h: Likewise.
4554         * ssa-ccp.c: Likewise.
4555         * ssa-dce.c: Likewise.
4556         * ssa.c: Likewise.
4557         * ssa.h: Likewise.
4558         * stack.h: Likewise.
4559         * stmt.c: Likewise.
4560         * stor-layout.c: Likewise.
4561         * stringpool.c: Likewise.
4562         * target.h: Likewise.
4563         * timevar.c: Likewise.
4564         * timevar.h: Likewise.
4565         * tlink.c: Likewise.
4566         * tracer.c: Likewise.
4567         * tree-inline.c: Likewise.
4568         * tree-inline.h: Likewise.
4569         * tree.c: Likewise.
4570         * tree.h: Likewise.
4571
4572 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4573
4574         * combine.c (nonzero_bits1): Fix a warning.
4575
4576 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4577
4578         * config/h8300/h8300.c (compute_mov_length): Correct the
4579         length of loading CONST0_RTX (SFmode).
4580
4581 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
4582
4583         * toplev.c (output_clean_symbol_name): Remove.
4584         * toplev.h (output_clean_symbol_name): Remove.
4585         * config/alpha/alpha.c (unicosmk_output_module_name): Use
4586         lbasename & clean_symbol_name.
4587
4588 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4589
4590         * ggc.h: Follow spelling conventions.
4591         * config/i386/i386.c: Likewise.
4592         * config/i386/winnt.c: Likewise.
4593         * config/rs6000/rs6000.c: Likewise.
4594
4595 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4596
4597         * bt-load.c: Fix comment typos.
4598         * c-incpath.c: Likewise.
4599         * cfg.c: Likewise.
4600         * cfgcleanup.c: Likewise.
4601         * cfgloop.h: Likewise.
4602         * cfgloopmanip.c: Likewise.
4603         * cfgrtl.c: Likewise.
4604         * diagnostic.h: Likewise.
4605         * dwarfout.c: Likewise.
4606         * emit-rtl.c: Likewise.
4607         * et-forest.c: Likewise.
4608         * et-forest.h: Likewise.
4609         * expr.c: Likewise.
4610         * gcse.c: Likewise.
4611         * genattr.c: Likewise.
4612         * jump.c: Likewise.
4613         * langhooks.h: Likewise.
4614         * local-alloc.c: Likewise.
4615         * loop-unroll.c: Likewise.
4616         * loop-unswitch.c: Likewise.
4617         * ra-build.c: Likewise.
4618         * regclass.c: Likewise.
4619         * regmove.c: Likewise.
4620         * rtl.def: Likewise.
4621         * rtlanal.c: Likewise.
4622         * sched-ebb.c: Likewise.
4623         * sched-rgn.c: Likewise.
4624         * simplify-rtx.c: Likewise.
4625         * ssa.c: Likewise.
4626         * tracer.c: Likewise.
4627         * tree.c: Likewise.
4628
4629 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
4630
4631         * cppcharset.c: Use the correct return type for the fallback iconv
4632         macro.
4633
4634 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4635
4636         Blame to Jan Hubicka  <jh@suse.cz>
4637         * cfglayout.c (record_effective_endpoints): Split insns before
4638         first basic block correctly.
4639
4640 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4641
4642         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
4643         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
4644         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
4645
4646 2003-07-05  Andreas Jaeger  <aj@suse.de>
4647
4648         * genattrtab.c (write_attr_get): Revert part of last patch to
4649         always write out a prototype.
4650
4651         * genemit.c (gen_split): Readd lost unused attributes in last
4652         patch.
4653
4654 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4655
4656         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
4657         different from header.
4658
4659 2003-07-05  Andreas Schwab  <schwab@suse.de>
4660
4661         * config/m68k/m68k.c: Remove code protected by CRDS.
4662         * config/m68k/m68k.md: Likewise.
4663
4664 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
4665
4666         PR driver/11417
4667         * c-opts.c (permit_fortran_options): New.
4668         (c_common_init_options): Accept fortran front end options if
4669         it looks like we might be preprocessing Fortran.
4670         (c_common_handle_option): Don't reject switch if permit_fotran_options.
4671
4672 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4673
4674         * genattr.c (internal_dfa_insn_code): Output prototype.
4675         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
4676         * genautomata.c: Likewise.
4677         * genconditions.c: Likewise.
4678         * genemit.c: Likewise.
4679         * genextract.c: Likewise.
4680         * gengenrtl.c: Likewise.
4681         * gengtype.c: Likewise.
4682         * genopinit.c: Likewise.
4683         * genoutput.c: Likewise.
4684         * genpeep.c: Likewise.
4685         * genrecog.c: Likewise.
4686
4687 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
4688
4689         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
4690         (struct cpp_options): Add narrow_charset, wide_charset,
4691         bytes_big_endian fields.  Remove EBCDIC field.
4692         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
4693
4694         * cpphash.h: Include <iconv.h> if we have it, otherwise
4695         provide a dummy definition of iconv_t.
4696         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
4697         (_cpp_valid_ucn): Update prototype.
4698         (_cpp_destroy_iconv): New prototype.
4699
4700         * doc/cpp.texi: Document character set handling.
4701         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
4702         * doc/extend.texi: Delete entire section on multiline strings.
4703         Rewrite section on __FUNCTION__ etc now that these are
4704         variables in C.
4705
4706         * cppucnid.tab, cppucnid.pl: New files.
4707         * cppucnid.h: New generated file.
4708         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
4709         (iconv_open, iconv, iconv_close): Provide dummy definitions
4710         if !HAVE_ICONV.
4711         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
4712         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
4713         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
4714         cpp_interpret_string, narrow_str_to_charconst,
4715         wide_str_to_charconst): New.
4716         (ucn_valid_in_identifier): Use a binary search through the
4717         ucnranges table defined in cppucnid.h, not a long chain of if
4718         statements.
4719         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
4720         character names are only valid in C++ and C99" to a warning.
4721         Issue the "meaning of \[uU] is different in traditional C"
4722         warning here.  Take care not to let iconv see an invalid UCS
4723         value if we get a malformed UCN.  Issue an error if we don't
4724         have iconv.
4725         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
4726         cpp_interpret_string to do the heavy lifting.
4727
4728         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
4729         narrow_charset, wide_charset fields of options structure.
4730         (cpp_destroy): Call _cpp_destroy_iconv.
4731         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
4732         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
4733         (cpp_interpret_charconst): Moved to cppcharset.c.
4734         * cpplib.c (dequote_string): Delete.
4735         (interpret_string_notranslate): New.
4736         (do_line, do_linemarker): Use interpret_string_notranslate.
4737
4738         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
4739
4740         * c-common.c (fname_string, combine_strings): Delete.
4741         * c-common.h (fname_string, combine_strings): Delete prototypes.
4742         * c-lex.c (ignore_escape_flag): Delete.
4743         (cb_ident): Use cpp_interpret_string, not lex_string.
4744         (get_nonpadding_token): New function.
4745         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
4746         Adjust calls to lex_string.  Don't write *value twice.
4747         (lex_string): Now handles string constant concatenation.
4748         Most of the work handed off to cpp_interpret_string.
4749         Call fix_string_type here.
4750         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
4751         FUNC_NAME, throughout.
4752         (OBJC_STRING): New token type.
4753         (primary:STRING): No need to call fix_string_type here.
4754         (primary:objc_string): Make that OBJC_STRING.
4755         (objc_string nonterminal): Delete.
4756         (yylexname): Delete code to handle fake string constants.
4757         (yylexstring): Delete entirely.
4758         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
4759         to handle CPP_ATSIGN.
4760
4761         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
4762         * c-opts.c (missing_arg, c_common_handle_option): Handle
4763         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
4764         (c_common_init): Set cpp_opts->bytes_big_endian, not
4765         cpp_opts->EBCDIC.  Call cpp_init_iconv.
4766         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
4767         (TARGET_EBCDIC): Delete default definition.
4768
4769         * objc/objc-act.c (build_objc_string_object): No need to
4770         handle string constant concatenation.
4771
4772 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
4773
4774         * doc/install.texi: Fix typos.
4775         * doc/invoke.texi: Likewise.
4776         * doc/tm.texi: Likewise.
4777
4778 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
4779
4780         * config/pa/fptr.c: Fix comment typos.
4781         * config/pa/pa-64.h: Likewise.
4782         * config/pa/pa.c: Likewise.
4783         * config/pa/pa.h: Likewise.
4784         * config/rs6000/603.md: Likewise.
4785         * config/rs6000/7xx.md: Likewise.
4786         * config/rs6000/darwin.h: Likewise.
4787         * config/rs6000/freebsd.h: Likewise.
4788         * config/rs6000/rs6000.c: Likewise.
4789         * config/rs6000/rs6000.md: Likewise.
4790         * config/rs6000/spe.h: Likewise.
4791
4792 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
4793
4794         * config/s390/2064.md: Change GNU CC to GCC.
4795         * config/s390/2084.md: Likewise.
4796         * config/s390/fixdfdi.h: Likewise.
4797         * config/s390/linux.h: Likewise.
4798         * config/s390/s390-modes.def: Likewise.
4799         * config/s390/s390-protos.h: Likewise.
4800         * config/s390/s390.c: Likewise.
4801         * config/s390/s390.h: Likewise.
4802         * config/s390/s390.md: Likewise.
4803         * config/s390/s390x.h: Likewise.
4804
4805 2003-07-04  Jeff Law  <law@redhat.com>
4806
4807         PR c/11428
4808         * expr.c (do_store_flag): Pass in the correct result type
4809         when calling fold_single_bit_test.
4810         * fold-const.c (fold_single_bit_test): Use result_type for the
4811         result when folding a sign bit test.
4812
4813 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
4814
4815         * opts.c (common_handle_options): Negate sense of -falign- switches.
4816
4817 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
4818
4819         * Makefile.in: Replace PWD with PWD_COMMAND.
4820
4821 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4822
4823         * cfgloopanal.c (count_strange_loop_iterations): New static function.
4824         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
4825         Handle strange loops.
4826
4827 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
4828
4829         * install.texi: Even the g77 manpage is derived from
4830         the full g77 manual.
4831
4832 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
4833
4834         * ABOUT-NLS: Delete.
4835         * intl: Delete entire directory.
4836         * aclocal.m4: Include ../config/gettext.m4.  Delete
4837         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
4838         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
4839         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
4840         Remove intl/Makefile from all_outputs.
4841         * configure, config.in: Regenerate.
4842         * Makefile.in: Expunge all references to intl subdirectory.
4843         Add -I../intl to INCLUDES.
4844         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
4845
4846 2003-07-04  Roger Sayle  <roger@eyesopen.com>
4847
4848         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
4849         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
4850
4851 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
4852
4853         PR c++/5287, PR c++/7910, PR c++/11021
4854         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
4855         dllimport attribute if function is defined at declaration, but
4856         report error instead. Likewise for dllimport'd variable
4857         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
4858         declared within functions, Report error if dllimport or dllexport
4859         symbol is not global.
4860         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
4861         if defined after declaration or if inlined. Don't allow definition
4862         of static data members of C++ classes. Don't dllimport virtual
4863         methods.
4864         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
4865         (i386_pe_mark_dllimport): Remove unnecessary checks.
4866         (i386_pe_encode_section_info): Warn if the dllimport attribute
4867         and symbol prefix have been instantiated and then overridden.
4868
4869         * doc/extend.texi: Document dllimport and dllexport attributes.
4870
4871         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
4872
4873 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
4874
4875         * config/kaos.h (CPP_PREDEFINES): Delete.
4876         (TARGET_OS_CPP_BUILTINS): New.
4877
4878 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4879
4880         * c-aux-info.c: Include toplev.h after c-tree.h.
4881         * c-common.c: Likewise.
4882         (GCC_DIAG_STYLE): Undef.
4883         * c-semantics.c (GCC_DIAG_STYLE): Define.
4884         * c-tree.h (GCC_DIAG_STYLE): Likewise.
4885         * diagnostic.h (inform): Move prototype to toplev.h.
4886         * jump.c: Include diagnostic.h before toplev.h.
4887         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
4888         (warning, error, fatal_error, pedwarn, sorry, inform,
4889         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
4890
4891 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4892
4893         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
4894         at all if edge is not specified.
4895         (can_copy_bbs_p, copy_bbs): New.
4896         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
4897         * cfgloop.c (get_loop_body): Comment more precisely.
4898         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
4899         (scale_bbs_frequencies): Fix comment typo.
4900         (can_duplicate_loop_p): Use can_copy_bbs_p.
4901         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
4902
4903 2003-07-03  Devang Patel <dpatel@apple.com>
4904
4905         * c-opts.c (c_common_parse_file): Remove extra
4906         debug_hooks->start_source_file call.
4907
4908 2003-07-03  Roger Sayle  <roger@eyesopen.com>
4909
4910         * real.c (real_trunc, real_floor, real_ceil): New functions
4911         to implement trunc, floor and ceil respectively.
4912         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
4913         * builtins.c (integer_valued_real_p): New function to test if
4914         a floating point expression has an integer valued result.
4915         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
4916         foo(x) where foo is an integer rounding function.  Similarly,
4917         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
4918         (double)(int)x when both foo and bar are integer rounding
4919         functions and we don't need to honor errno.
4920         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
4921         New functions to fold trunc, floor and ceil.
4922         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
4923         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
4924         to fold BUILT_IN_CEIL*.
4925         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
4926         the remaining integer rounding functions.
4927
4928 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
4929
4930         * config/sparc/sparc.c (function_arg_partial_nregs): Use
4931         SPARC_INT_ARG_MAX to determine where to split unnamed
4932         complex FP arguments.
4933
4934 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
4935
4936         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
4937         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
4938         (merge_blocks_move_predecessor_nojumps,
4939          merge_blocks_move_successor_nojumps): Use merge_blocks.
4940         (try_optimize_cfg): Use merge_blocks_move.
4941         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
4942         (merge_blocks_nomove): Rename to rtl_merge_blocks.
4943         (cfg_layout_create_basic_block): New.
4944         (rtl_can_merge_blocks): New.
4945         (cfg_layout_split_block): Do not alloc aux by hand.
4946         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
4947         merge_blocks.
4948         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
4949         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
4950         * cfgloopmanip.c (loop_split_edge_with): Likewise.
4951         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
4952
4953         * basic-block.h (basic_block_def): Add field 'rbi'.
4954         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
4955         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
4956         * cfg.c (entry_exit_blocks): Add new field.
4957         * cfglayout.c: Include alloc-pool.h;
4958         (cfg_layout_pool): New.
4959         (record_effective_endpoints, fixup_reorder_chain,
4960         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
4961         of rbi.
4962         (cfg_layout_initialize_rbi): New function.
4963         (cfg_layout_initialize): Use it.
4964         (cfg_layout_finalize): Clear rbi fields.
4965         * cfglayout.h (RBI): Kill.
4966         (cfg_layout_initialize_rbi): Declare.
4967         * cfgloopmanip.c (copy_bbs): Use rbi.
4968         (record_exit_edges): Likewise.
4969         (duplicate_loop_to_header_edge): Likewise.
4970         * cfgrtl.c (cfg_layout_create_basic_block): Use
4971         cfg_layout_initialize_rbi.
4972         (cfg_layout_split_block): Use rbi.
4973         (cfg_layout_delete_block): Likewise.
4974         * loop-init.c (loop_optimizer_finalize): Likewise.
4975         * loop-unswitch.c (unswitch_loop): Likewise.
4976         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
4977
4978         * cfgrtl.c: Update comments.
4979         (try_redirect_by_replacing_jump): New argument.
4980         (redirect_branch_edge): Break out from ...
4981         (rtl_redirect_edge_and_branch): ... this one.
4982         (update_cfg_after_block_merging): Break out from ...
4983         (rtl_merge_blocks): ... this one.
4984         (cfg_layout_split_edge): New.
4985         (cfg_layout_merge_blocks): New.
4986         (cfg_layout_can_merge_blocks_p): New.
4987         (cfg_layout_redirect_edge_and_branch): Reorganize.
4988         (cfg_layout_rtl_cfg_hooks): Fill in.
4989         (cfg_layout_delete_block): Kill barriers.
4990         * cfganal.c (can_fallthru): Deal with exit blocks
4991         * cfglayout.c (cfg_layout_function_header): New function
4992         (record_effective_endpoints): Record function header.
4993         (fixup_reorder_chain): Fixup dead jumptables; place header
4994
4995         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
4996         * bb-reorder.c (cfg_layout_initialize): Update call.
4997         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
4998         edges in cfglayout mode.
4999         * cfglayout.c (cleanup_unconditional_jumps): Kill.
5000         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
5001         * cfglayout.h (cfg_layout_initialize): Update prototype.
5002         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
5003         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
5004         * flow.c (propagate_block): Do not crash when basic block ends
5005         by first insn in the chain.
5006         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
5007         do loop discovery.
5008         * tracer.c (tracer): Update call of cfg_layout_initialize.
5009
5010 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5011
5012         * Makefile.in: Use dependency variables in lieu of explicit
5013         files throughout.
5014
5015 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
5016
5017         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
5018         * tree.h: ...to here.
5019
5020 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
5021
5022         * config/s390/2064.md: Fix comment typos.
5023         * config/s390/2084.md: Likewise.
5024         * config/s390/s390.c: Likewise.
5025         * config/s390/s390.md: Likewise.
5026         * config/sh/sh.c: Likewise.
5027         * config/sh/sh.h: Likewise.
5028         * config/sh/sh.md: Likewise.
5029         * config/sparc/sparc.c: Likewise.
5030         * config/sparc/sparc.h: Likewise.
5031         * config/sparc/sparc.md: Likewise.
5032         * config/stormy16/stormy16.c: Likewise.
5033         * config/stormy16/stormy16.h: Likewise.
5034         * config/stormy16/stormy-abi: Fix a typo.
5035
5036 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
5037
5038         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
5039
5040 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5041
5042         * config/mips/mips.h (save_argv): Delete.
5043
5044 2003-07-03  Roger Sayle  <roger@eyesopen.com>
5045
5046         PR target/10700
5047         * fold-const.c (extract_muldiv_1): There's nothing that can be done
5048         if the expression is a SAVE_EXPR.
5049
5050 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
5051
5052         * config/m32r/m32r.c: Fix comment typos.
5053         * config/m68hc11/m68hc11.c: Likewise.
5054         * config/m68hc11/m68hc11.h: Likewise.
5055         * config/m68k/m68k.c: Likewise.
5056         * config/mcore/mcore.c: Likewise.
5057         * config/mcore/mcore.h: Likewise.
5058         * config/mcore/mcore.md: Likewise.
5059         * config/mips/mips.c: Likewise.
5060         * config/mips/mips.h: Likewise.
5061         * config/mips/mips.md: Likewise.
5062         * config/mips/netbsd.h: Likewise.
5063         * config/mn10300/mn10300.c: Likewise.
5064
5065 2003-07-03  Andreas Schwab  <schwab@suse.de>
5066
5067         * dbxout.c (pending_bincls): Move decl down inside
5068         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
5069
5070 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
5071
5072         * rtl.h (NOTE_DATA): Refer to whole union.
5073         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
5074
5075 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5076
5077         PR optimization/11381
5078         * simplify-rtx.c (simplify_relational_operation): Check that
5079         two equal operands have no side-effects before simplifying
5080         the comparison.
5081
5082 2003-07-02  Jeff Law  <law@redhat.com>
5083
5084         * expr.c (do_store_flag): Remove special case folding for
5085         single bit tests.  Instead call back into the commonized folder
5086         routine.
5087         * fold-const.c (fold_single_bit_test): New function, mostly
5088         extracted from do_store_flag, with an additional case extracted
5089         from fold.
5090         (fold): Call fold_single_bit_test appropriately.
5091         * tree.h (fold_single_bit_test): Prototype.
5092
5093 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
5094
5095         * system.h: Include filenames.h.
5096         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
5097         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
5098         define based on HAVE_DOS_BASED_FILE_SYSTEM.
5099         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
5100         * config/i386/xm-mingw32.h: Don't define
5101         HAVE_DOS_BASED_FILE_SYSTEM,
5102         DIR_SEPARATOR, or DIR_SEPARATOR_2.
5103         * doc/hostconfig.texi: Update to match.
5104
5105         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
5106         config/i386/cygwin.h:
5107         Use IS_ABSOLUTE_PATH throughout.
5108         * gcc.c (DIR_UP): Delete, unused.
5109         * protoize.c (IS_SAME_PATH): Define in terms of
5110         FILENAME_CMP.
5111         (is_abspath): Delete.
5112
5113 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
5114
5115         * config/i386/emmintrin.h: Fix comment typos.
5116         * config/i386/i386.c: Likewise.
5117         * config/i386/i386.h: Likewise.
5118         * config/i386/sco5.h: Likewise.
5119         * config/ia64/ia64.c: Likewise.
5120         * config/ia64/itanium2.md: Likewise.
5121
5122 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
5123
5124         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
5125         DBX_USE_BINCL.
5126         (emit_bincl_stab): Same.
5127         (emit_pending_bincls): Same.
5128
5129 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
5130
5131         * config/h8300/h8300.c (compute_mov_length): Fix the length of
5132         loading CONST0_RTX (SFmode).
5133         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
5134         'G' to CONST0_RTX (SFmode).
5135         * config/h8300/h8300.md (movsf_h8300): Change the first
5136         constraint to 'G'.
5137         (movsf_h8300h): Likewise.
5138
5139 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
5140
5141         * c-common.h (c_common_init_options): New prototype.
5142         * c-opts.c (deferred_size): Remove.
5143         (defer_opt): Array is now pre-allocated.
5144         (c_common_init_options): Pre-allocate deferred_opts.  Make
5145         lang_flags unsigned.
5146         (push_command_line_options): Free deferred_opts.
5147         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
5148         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
5149         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
5150         * langhooks.h (struct lang_hooks): New prototype for init_options.
5151         * main.c (main): Cast argv.
5152         * opts.c (handle_option, handle_options): Update prototypes.
5153         (decode_options): save_argc, save_argv are not global.  Constify.
5154         * opts.h (decode_options): New prototype.
5155         * toplev.c (general_init): New protoype.
5156         (save_argv): Make static.
5157         (save_argc): Remove.
5158         (print_switch_values, general_init): Constify.
5159         (toplev_main): Save argv.
5160         * toplev.h (toplev_main): Update prototype.
5161         (save_argc, save_argv): Remove.
5162
5163 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
5164
5165         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
5166         (emit_bincl_stab): Same.
5167         (emit_pending_bincls): Same.
5168
5169 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
5170
5171         PR c++/11072
5172         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
5173
5174 2003-07-02  Andreas Schwab  <schwab@suse.de>
5175
5176         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
5177
5178 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
5179
5180         PR optimization/11210
5181         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
5182         about the behaviour with regard to bitfields.
5183         * fold-const (decode_field_reference): Record outermost type in
5184         case the expression is a NOP. Strip all NOPs. Set the signedness
5185         to that of the outermost type (if any) when the bitsize is equal
5186         to the size of the type.
5187
5188 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
5189
5190         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
5191         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
5192         (adddi3_internal_3, addsi3_internal_2): Likewise.
5193
5194 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
5195
5196         * config/mips/mips.c (machine_function): Add new fields:
5197         ignore_hazard_length_p and all_noreorder_p.
5198         (mips_flag_delayed_branch): New variable.
5199         (override_options): Treat '/' as an operand punctuation character.
5200         Set up mips_flag_delayed_branch.
5201         (print_operand): Handle '/'.
5202         (mips_output_function_prologue): Put the whole function in
5203         .set noreorder and .set nomacro if all_noreorder_p is true.
5204         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
5205         (mips16_optimize_gp): Remove "first insn" parameter.
5206         (mips16_lay_out_constants): New function, split out from mips_reorg.
5207         (mips_avoid_hazard, mips_avoid_hazards): New functions.
5208         (mips_reorg): For mips16 code, call mips16_lay_out_constant
5209         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
5210         do delayed-branch scheduling followed by hazard detection.
5211         (mips_adjust_insn_length): Only account for hazards if
5212         !ignore_hazard_length_p.
5213         (mips_output_load_label): Add a nop to the o32 sequence if
5214         the target suffers from load delays.
5215         (mips_output_conditional_branch): Add %/ to the end of branches.
5216         (mips_output_division): Fill the branch delay slot with %#.
5217         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
5218         instructions.  End all other %* branches with %/.
5219         (ffssi2, ffsdi2): Fix lengths.
5220         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
5221         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
5222         (fix_truncsfsi2_macro): Likewise.
5223         (mov_lwl): Set hazard to "none".
5224         (ashldi3_internal): Fill the branch delay slot with %#.
5225         (ashrdi3_internal, lshrdi3_internal): Likewise.
5226         (exception_receiver): Explicitly set $28.
5227         (hazard_nop): New pattern.
5228
5229 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
5230
5231         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
5232         before calling tree_inlinable_function_p.
5233
5234 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5235
5236         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
5237         <internal/stdio_core.h> too.
5238         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
5239         <internal/wchar_core.h> too.
5240         Substitute va_list uses in inline definition.
5241         * fixinc/fixincl.x: Regenerate.
5242
5243 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5244
5245         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
5246         Undef before redefinition.
5247         (LABEL_AFTER_LOC): Likewise.
5248         (DEFAULT_SIGNED_CHAR): Likewise.
5249         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
5250         Fix IRIX spelling.
5251
5252         * config/mips/iris3.h: Remove, unused.
5253         * config/mips/iris4.h: Likewise.
5254
5255         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
5256
5257         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
5258         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
5259         target_cpu_default.
5260
5261         * config/mips/iris5.h: Move explicit includes ...
5262         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
5263
5264         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
5265         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
5266         tm_defines.
5267
5268         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
5269         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
5270         target_cpu_default.
5271
5272         * config/mips/iris6.h: Fix IRIX spelling.
5273         (MULTILIB_DEFAULTS): Undef before redefinition.
5274
5275         * config/mips/iris6.h: Move explicit includes ...
5276         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
5277
5278 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
5279
5280         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
5281         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
5282         Use next_needed field instead of aux to maintain the queue.
5283         * cgraph.h (cgraph_node): Add next_needed.
5284         (cgraph_varpool_node): Add next_needed; remove aux.
5285         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
5286
5287 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
5288
5289         * cgraphunit.c (cgraph_finalize_function): Set finalized.
5290         (cgraph_finalize_function): Do not examine inlinablility.
5291         (cgraph_finalize_compilation_unit): Do it here.
5292         * cgraph.h (cgraph_local_info): Add finalized field.
5293
5294 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5295
5296         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
5297         (gt_pch_restore): Likewise.
5298
5299 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5300
5301         * config/alpha/alpha.c: Fix comment typos.
5302         * config/alpha/elf.h: Likewise.
5303         * config/arm/arm.c: Likewise.
5304         * config/arm/arm.h: Likewise.
5305         * config/arm/arm.md: Likewise.
5306         * config/arm/t-arm-coff: Likewise.
5307         * config/arm/t-strongarm-pe: Likewise.
5308         * config/arm/xscale-elf.h: Likewise.
5309         * config/avr/avr.h: Likewise.
5310
5311 2003-07-01  Jeff Law  <law@redhat.com>
5312
5313         * stmt.c (any_pending_cleanups): Remove another redundant test.
5314
5315 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
5316             J"orn Rennecke <joern.rennecke@superh.com>
5317
5318         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
5319         for MEM case.
5320
5321 2003-07-01  Devang Patel  <dpatel@apple.com>
5322
5323         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
5324         (binclstatus): New.
5325         (struct dbx_file): New members - bincl_status, pending_bincl_name and
5326         prev.
5327         (pending_bincls): New.
5328         (dbxout_init): Initialize new dbx_file members.
5329         (dbxout_start_source_file): Same.
5330         (emit_bincl_stab): New function.
5331         (emit_pending_bincls): Same.
5332         (emit_pending_bincls_if_required): Same.
5333         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
5334         processed.
5335         (dbxout_begin_block): Emit pending BINCL stabs.
5336         (dbxout_end_block): Same.
5337         (dbxout_function_decl): Same.
5338         (dbxout_continue): Same.
5339         (dbxout_type): Same.
5340         (dbxout_class_name_qualifiers): Same.
5341         (dbxout_symbol): Same.
5342         (dbxout_symbol_location): Same.
5343         (dbxout_parms): Same.
5344
5345 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5346
5347         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
5348         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
5349
5350 2003-07-01  Andreas Jaeger  <aj@suse.de>
5351
5352         * fold-const.c: Convert prototypes to ISO C90.
5353         * function.c: Likewise.
5354         * function.h: Likewise.
5355
5356 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5357
5358         * doc/contrib.texi: Fix typos.
5359         * doc/invoke.texi: Likewise.
5360         * doc/passes.texi: Likewise.
5361         * doc/sourcebuild.texi: Likewise.
5362         * doc/tm.texi: Likewise.
5363
5364 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5365
5366         * basic-block.h: Fix comment typos.
5367         * bb-reorder.c: Likewise.
5368         * c-format.c: Likewise.
5369         * cfgcleanup.c: Likewise.
5370         * cfghooks.h: Likewise.
5371         * cfgloop.c: Likewise.
5372         * cfgloopmanip.c: Likewise.
5373         * cfgrtl.c: Likewise.
5374         * cgraph.h: Likewise.
5375         * cgraphunit.c: Likewise.
5376         * combine.c: Likewise.
5377         * convert.c: Likewise.
5378         * dbxout.c: Likewise.
5379         * df.c: Likewise.
5380         * df.h: Likewise.
5381         * diagnostic.c: Likewise.
5382         * dwarf2out.c: Likewise.
5383         * et-forest.h: Likewise.
5384         * flow.c: Likewise.
5385         * fold-const.c: Likewise.
5386         * function.h: Likewise.
5387         * gcov-io.h: Likewise.
5388         * gcov.c: Likewise.
5389         * gcse.c: Likewise.
5390         * genautomata.c: Likewise.
5391         * ggc-common.c: Likewise.
5392         * ggc-page.c: Likewise.
5393         * loop-unroll.c: Likewise.
5394         * loop-unswitch.c: Likewise.
5395         * loop.c: Likewise.
5396         * mips-tfile.c: Likewise.
5397         * optabs.c: Likewise.
5398         * ra-build.c: Likewise.
5399         * ra-colorize.c: Likewise.
5400         * ra-rewrite.c: Likewise.
5401         * ra.h: Likewise.
5402         * regmove.c: Likewise.
5403         * reload.c: Likewise.
5404         * rtlanal.c: Likewise.
5405         * sched-ebb.c: Likewise.
5406         * sched-int.h: Likewise.
5407         * sched-vis.c: Likewise.
5408         * sreal.c: Likewise.
5409         * ssa-ccp.c: Likewise.
5410         * ssa.c: Likewise.
5411         * toplev.c: Likewise.
5412         * tree-inline.c: Likewise.
5413         * value-prof.c: Likewise.
5414         * value-prof.h: Likewise.
5415
5416 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
5417
5418         * rtl.h (emit_line_note_after): Remove.
5419         (emit_note_copy_after, emit_note_copy): New.
5420         * emit-rtl.c (reorder_insns_with_line_notes): Replace
5421         emit_line_note_after with emit_note_copy_after.
5422         (emit_insn_after_with_line_notes): Likewise.
5423         (emit_line_note_after): Kill.
5424         (emit_note_copy_after): New.
5425         (emit_note_copy): New.
5426         * function.c (emit_return_into_block): Use emit_note_copy_after.
5427         (thread_prologue_and_epilogue_insns): Likewise.
5428         * integrate.c (expand_inline_function): Use emit_note_copy.
5429         (copy_insn_list): Likewise.
5430         * unroll.c (copy_loop_body): Likewise.
5431         * cfglayout.c (duplicate_insn_chain): Likewise.
5432
5433 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
5434
5435         * c-tree.h (define_label): Replace filename and lineno arguments
5436         with a location_t.
5437         * c-decl.c (poplevel): Adjust define_label call.
5438         (pop_label_level): Likewise.
5439         (define_label): Replace filename and lineno arguments with a
5440         location_t.
5441         (store_parm_decls): Use DECL_SOURCE_LOCATION.
5442         * c-parse.in (label): Adjust define_label call.
5443
5444 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
5445
5446         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
5447         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
5448         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
5449         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
5450         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
5451
5452 2003-07-01  Andreas Jaeger  <aj@suse.de>
5453
5454         * final.c: Convert prototypes to ISO C90.
5455         * flow.c: Likewise.
5456         * flags.h: Likewise.
5457         * gcov-io.c: Likewise.
5458         * gcov-io.h: Likewise.
5459
5460 See ChangeLog.9 for earlier changes.