OSDN Git Service

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