OSDN Git Service

2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
2
3         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
4         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
5
6 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
7             Richard Henderson  <rth@redhat.com>
8
9         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
10         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
11         (_Unwind_SetGR): Likewise.
12         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13         (Unwind_SpTmp): New typedef.
14         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
15         (uw_update_context): Use _Unwind_GetPtr.
16         (init_dwarf_reg_size_table): Move above uw_init_context_1.
17         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
18         Use _Unwind_SetSpColumn.
19         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
20         Use _Unwind_GetPtr.
21
22 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
23
24         * c.opt: Document more options.
25         * toplev.c (documented_lang_options): Remove all local help strings.
26
27 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
28
29         PR debug/11473
30         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
31         base classes.
32
33 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
34
35         PR target/10795
36         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
37         swap comparison operands if doing so would generate an
38         unrecognizable insn.
39
40 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
41
42         PR optimization/11320
43         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
44         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
45         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
46         current_sched_info->compute_jump_reg_dependencies. Record which
47         registers are used and which registers are set by the jump.
48         Clear deps->reg_conditional_sets after a barrier.
49         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
50         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
51         (init_deps): Initialize reg_conditional_sets.
52         (free_deps): Clear reg_conditional_sets.
53         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
54         Mark registers live on entry of the fallthrough block and conditionally
55         set as set by the jump. Mark registers live on entry of non-fallthrough
56         blocks as used by the jump.
57         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
58         Mark new parameters as unused.
59
60 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
61
62         * doc/invoke.texi: Resync MIPS -march documentation.
63
64 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
65
66         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
67         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
68         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
69         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
70         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
71         (mips_issue_rate): Handle PROCESSOR_R9000.
72         (mips_use_dfa_pipeline_interface): Likewise.
73         * config/mips/9000.md: New file.
74         * config/mips/mips.md: Include it.
75         (define_attr cpu): Add r9000.
76         (mulsi3_mult3): Use "mul" for rm9000 code.
77
78 2003-07-15  Stan Cox  <scox@redhat.com>
79
80         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
81         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
82         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
83         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
84         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
85         (mips_issue_rate): Handle PROCESSOR_R7000.
86         (mips_use_dfa_pipeline_interface): Likewise.
87         * config/mips/7000.md: New file.
88         * config/mips/mips.md: Include it.
89         (define_attr cpu): Add r7000.
90         (mulsi3_mult3): Use "mul" for rm7000 code.
91
92 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
93
94         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
95         the conditional move patterns.
96         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
97         Check for condmove type.
98         (ir_vr54_arith): Add move type.
99         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
100         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
101
102 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
103
104         * c-opts.c (print_help): Remove.
105         (c_common_handle_option): Don't handle --help.
106         * c.opt: Document some options.
107         (--help): Remove.
108         * opts.c (print_filtered_help): New.
109         (print_help): Use it.
110
111 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
112
113         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
114         * tree.c: (build_common_tree_nodes_2): Likewise.
115         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
116         (V4DF_type_node): New.
117
118         * c-opts.c (push_command_line_include): Don't free deferred_opts,
119         we'll need it.
120         (finish_options): Reset init_cursor.
121
122 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
123
124         * expr.c (expand_assignment): Remove an unused argument
125         SUGGEST_REG.
126         * expr.h: Update the prototype.
127         * function.c: Update the callers.
128         * stmt.c: Likewise.
129
130 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
131
132         PR debug/11098
133         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
134         as DECL_ABSTRACT.
135
136 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
137
138         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
139         with __cplusplus, not "we must use the C++ compiler's type"
140         * fixinc/inclhack.def (void_null): Note that Interix needs this.
141         * fixinc/fixincl.x: Regenerate.
142
143 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
144
145         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
146         and unseen_objects from the global data before calling
147         __deregister_frame_info_bases.
148         (examine_objects): Insert objects into the seen_objects list,
149         not unseen_objects.
150         (_Unwind_Find_FDE): Always unlock the global object lists, even if
151         we couldn't allocate a data structure to put in it.
152
153         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
154         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
155         (SET_TYPE_PROTOCOL_LIST): New.
156         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
157         (get_object_reference): Likewise.
158
159 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
160
161         * cfglayout.c (locator_file): Break out from ....
162         (insn_file): ... here.
163         (locator_line): Break out from ....
164         (insn_line): ... here.
165         * rtl.h (locator_file, locator_line): Declare.
166         (final_start_function): Set proper line/file info.
167
168 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
169
170         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
171         handled by pp_c_cast_expression.
172
173 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
174
175         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
176         allocate 32768 bytes of stack.  Use addition rather than subtraction
177         when a single insn is enough.
178         * config/mips/mips.md: Remove insns and splitters for subtracting
179         constants.
180         (subsi3): Only accept register operands.
181         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
182         (subdi3_internal_3, subsi3_internal_2): Likewise.
183         (casesi): Use expand_binop to subtract the lower bound.
184
185 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
186
187         * config/mips/mips.c (mips_in_small_data_p): Don't handle
188         TARGET_MIPS16 specially.
189
190 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
191
192         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
193         mips_output_aligned_bss.
194         * config/mips/linux.h: Likewise.
195         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
196         * config/mips/mips.c (mips_output_aligned_bss): New function.
197
198         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
199         * config/mips/elf64.h: Likewise.
200
201         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
202         mips_declare_object_name.
203         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
204         * config/mips/elf64.h: As for elf.h.
205         * config/mips/iris6.h: Likewise.
206         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
207         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
208         do...while (0) block.
209         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
210         (mips_finish_declare_object): Declare.
211         * config/mips/mips.c (mips_declare_object_name): New function.
212         (mips_finish_declare_object): New function.
213
214         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
215         * config/mips/linux.h: Likewise.
216
217         * config/mips/mips.c (inside_function): Delete.
218         (file_in_function_warning, ignore_line_number): Delete.
219         (mips_output_filename): Don't warn about changing filenames within
220         a function.
221         (mips_output_lineno): Update accordingly.
222         (mips_output_function_prologue): Don't reset the deleted variables.
223         * config/mips/mips.h (inside_function): Delete.
224         (file_in_function_warning, ignore_line_number): Delete.
225
226         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
227         * config/mips/elf64.h: Likewise.
228         * config/mips/openbsd.h: Likewise.
229         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
230         * config/mips/linux.h: Likewise.
231         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
232         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
233
234         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
235         to the list of include files when using gas.
236         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
237         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
238         * config/mips/elf64.h: Likewise.
239         * config/mips/iris5.h: Likewise.
240         * config/mips/linux.h: Likewise.
241         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
242         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
243         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
244         * config/mips/sdb.h: ...this new file.
245
246 2003-07-14  Douglas Rupp  <rupp@gnat.com>
247
248         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
249         argument to getcwd; use fixed buffer instead.
250
251 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
252
253         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
254         * fixinc/fixinc.wrap: Delete.
255
256 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
257
258         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
259         don't have 2.
260
261 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
262
263         * ggc-page.c (struct globals): Add new fields to keep track of the
264         total allocated memory and overhead.
265         (ggc_print_statistics): Print them.
266         (ggc_alloc): Keep track of the total allocated memory and the
267         overhead.
268
269         * tree.c (dump_tree_statistics): Increase spacing.
270         (enum tree_node_kind): Move to ...
271         * tree.h (enum tree_node_kind): ... here.
272         (tree_node_counts, tree_node_sizes): Declare.
273
274 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
275
276         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
277
278 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
279
280         PR optimization/11440
281         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
282         SIGN_EXTRACT SETs.
283
284 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
285
286         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
287         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
288         (emit_group_load, emit_group_store): Adjust declarations.
289         Remove most occurrences of #ifdef TREE_CODE.
290         * expr.c (emit_group_load): Add "type" param, and use
291         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
292         aligned accesses if !SLOW_UNALIGNED_ACCESS.
293         (emit_group_store): Likewise.
294         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
295         emit_group_load and emit_group_store calls.
296         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
297         BLOCK_REG_PADDING to determine whether we need endian_correction.
298         (load_register_parameters): Localize vars.  Handle shifting of
299         small values to the correct end of regs.  Adjust emit_group_load
300         call.
301         (expand_call, emit_library_call_value_1): Adjust emit_group_load
302         and emit_group_store calls.
303         * function.c (assign_parms): Set mem alignment for stack slots.
304         Adjust emit_group_store call.  Store values at the "wrong" end
305         of regs to the stack.  Use BLOCK_REG_PADDING.
306         (locate_and_pad_parm): Save where_pad.
307         (expand_function_end): Adjust emit_group_load call.
308         * stmt.c (expand_value_return): Adjust emit_group_load call.
309         * Makefile.in (calls.o): Depend on $(OPTABS_H).
310         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
311         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
312         (MUST_PASS_IN_STACK): Define.
313         (BLOCK_REG_PADDING): Define.
314         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
315         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
316         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
317         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
318         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
319
320 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
321
322         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
323
324 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
325
326         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
327         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
328
329 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
330
331         PR other/11123
332         * toplev.c: Don't cut off option names.
333
334 2003-07-13  Andreas Jaeger  <aj@suse.de>
335
336         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
337         to integer of different size.
338
339 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
340
341         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
342         to (eq (and X 1) 0).
343
344 2003-07-13  Andreas Jaeger  <aj@suse.de>
345
346         * config.gcc: Add pmmintrin.h for x86_64-*-*.
347
348 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
349
350         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
351         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
352         list.  Move these all together down by cpplib.
353
354         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
355         definition of CPPCHAR_SIGNED_T.
356
357         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
358         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
359         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
360
361         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
362         * cppinit.c (cpp_create_reader): Likewise.
363
364         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
365         * cpptrad.c: Likewise.  All callers changed.
366         * cpplib.c: All callers changed.
367         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
368         * hashtable.h: Define GTY(x) to nothing here too.
369
370 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
371
372         * stor-layout.c (compute_record_mode): Remove very obsolete test
373         that forces BLKmode for records with fields crossing word boundary.
374
375 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
376
377         * Makefile.in: Remove orphan reference to acconfig.h.
378
379 2003-07-13  Andreas Jaeger  <aj@suse.de>
380
381         * cgraphunit.c: Convert prototypes to ISO C90.
382
383 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
384
385         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
386         (for OpenBSD).
387         * fixinc/fixincl.x: Rebuild.
388
389 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
390
391         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
392         i?86-*-*.  Use correct name of cache variable.
393         * configure: Regenerate.
394
395 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
396
397         * config/alpha/alpha.c: Fix comment typos.
398         * config/alpha/alpha.md: Likewise.
399         * config/arm/arm.c: Likewise.
400         * config/arm/arm.md: Likewise.
401         * config/arm/lib1funcs.asm: Likewise.
402         * config/avr/avr.md: Likewise.
403         * config/arm/README-interworking: Fix typos.
404
405 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
406
407         * c-format.c: Fix comment formatting.
408         * c-typeck.c: Likewise.
409         * coverage.c: Likewise.
410         * cppcharset.c: Likewise.
411         * cpplib.c: Likewise.
412         * dbxout.c: Likewise.
413         * gcov-io.h: Likewise.
414         * toplev.c: Likewise.
415
416 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
417
418         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
419         fix.
420
421 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
422
423         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
424         uses three-argument AC_DEFINE so no acconfig.h entries are
425         needed.
426         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
427         which contains the GAS version number as a scaled integer.
428         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
429         ability to check for ELF assembler.
430         (gcc_GAS_CHECK_FEATURE): New macro.
431         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
432         assembler feature checks using gcc_GAS_CHECK_FEATURE.
433         Use three-argument AC_DEFINE everywhere.
434         * acconfig.h: Deleted.
435         * config.in, configure: Regenerate.
436
437 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
438
439         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
440         (on OpenBSD).
441         * fixinc/fixincl.x: Regenerate.
442
443         * fixinc/inclhack.def (gnu_types): Improve comment.
444
445 2003-07-12  Andreas Jaeger  <aj@suse.de>
446
447         * fp-test.c (main): Use ISO C90 prototype.
448
449         * version.c: Remove unneded include of ansidecl.h.
450
451         * cgraph.h: Convert prototypes to ISO C90.
452         * cgraph.c: Likewise.
453         * fix-header.c: Likewise.
454         * ra.h: Likewise.
455         * protoize.c: Likewise.
456
457 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
458
459         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
460         warning.
461
462 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
463                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
464
465         * cgraph.c (cgraph_max_uid): New global variable.
466         (cgraph_node): Set uid field.
467         (create_edge): Keep inline flags consistent.
468         (dump_cgraph): Dump more info.
469         * cgraph.h (struct cgraph_local_info): Remove inline_many and
470         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
471         (struct cgraph_global_info): Add insns, calls, cloned_times,
472         will_be_output.
473         (struct cgraph_node): Add uid.
474         (struct cgraph_edge): Add inline_call.
475         (cgraph_max_uid, cgraph_inline_p): Declare.
476         * cgraph.c: Include params.h and fibheap.h
477         (cgraph_mark_functions_to_inline_once): Kill.
478         (INSNS_PER_CALL): New constant.
479         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
480         static variables.
481         (cgraph_finalize_function): Do not analyze inlining.
482         (cgraph_finalize_compilation_unit): Set inlining attributes.
483         (cgraph_mark_functions_to_output): More consistency checks.
484         (cgraph_optimize_function): Set current_function_decl to NULL.
485         (cgraph_expand_function): Use new inline flags.
486         (cgraph_postorder): Expand from cgraph_expand_functions.
487         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
488         (cgraph_inlined_into, cgraph_inlined_callees,
489         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
490         cgraph_mark_inline, cgraph_check_inline_limits,
491         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
492         cgraph_decide_inlining, cgraph_inline_p): New functions.
493         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
494         PARAM_INLINE_UNIT_GROWTH): New parameters.
495         * tree-inline.c (struct inline_data): New field current_decl.
496         (expand_call_inline): Avoid forward declarations; use
497         inlinable_function_p.
498         (optimize_inline_calls): Set id.current_decl.
499
500 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
501
502         * configure.in: Remove wrongly added definition of
503         local_prefix.
504         * configure: Regenerate.
505
506 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
507
508         * rtl.def (NOTE): Do not use padding.
509
510 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
511
512         * doc/install.tex: Update required binutils for i?86-*-linux*
513
514 2003-07-11  Richard Henderson  <rth@redhat.com>
515
516         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
517
518 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
519
520         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
521         TRANSLATION_UNIT_DECL as top_level.
522
523 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
524
525         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
526         then fall back to cmpstrM.
527         * builtins.c (expand_builtin_memcmp): Likewise.
528         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
529         (s390_expand_cmpmem): ... this.
530         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
531         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
532         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
533         to s390_expand_cmpmem.
534         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
535         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
536         to cmpmem*.
537         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
538         cmpstr* patterns.
539         * doc/md.texi (cmpstrM): Describe as String compare insn, not
540         Block compare insn.
541         (cmpmemM): Add.
542
543 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
544
545         * config/i386/freebsd.h (SET_ASM_OP): Remove.
546         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
547         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
548          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
549
550 2003-07-11  Richard Henderson  <rth@redhat.com>
551
552         * function.c (assign_parms): Don't recombine complex args if
553         fnargs is unchanged from orig_fnargs.
554         (split_complex_args): Return args without complex before copying.
555         Re-layout the modified parameters.
556
557 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
558
559         * regclass.c (choose_hard_reg_mode): Add third argument.
560         Changed all callers.
561         * rtl.h (choose_hard_reg_mode): Update declaration.
562         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
563         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
564
565 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
566
567         * c-decl.c (finish_decl): Handle 'used' here...
568         * cgraphunit.c (cgraph_finalize_function): ... and here ...
569         * c-common.c: (handle_used_attribute): ... not here.
570
571         * configure.in (onstep): Support --enable-intermodule.
572         * Makefile.in (OBJS-common): New.
573         (OBJS-md): New.
574         (OBJS-archive): New.
575         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
576         (OBJS-onestep): New.
577         (libbackend.a): Support @onestep@.
578         (libbackend.o): New.
579         * configure: Regenerate.
580
581         * c-common.h (c_reset_state): New prototype.
582         (c_parse_file): New prototype.
583         (finish_file): Move prototype from c-tree.h.
584         * c-decl.c: Include <hashtab.h>.
585         (builtin_decls): New.
586         (current_file_decl): New.
587         (duplicate_decls): Add extra parameter. Change all callers.  Don't
588         output duplicate common symbols.
589         (link_hash_hash): New.
590         (link_hash_eq): New.
591         (poplevel): Handle popping of the top level.
592         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
593         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
594         (pushdecl_top_level): Likewise.
595         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
596         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
597         (finish_decl): Handle TRANSLATION_UNIT_DECL.
598         (merge_translation_unit_decls): New.
599         (c_write_global_declarations): New.
600         (c_reset_state): New.
601         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
602         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
603         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
604         TRANSLATION_UNIT_DECL.
605         (c_objc_common_finish_file): Call merge_translation_unit_decls.
606         * c-opts.c (in_fnames): Rename from in_fname.
607         (c_common_decode_option): Handle multiple input filenames.
608         (c_common_post_options): Likewise.
609         (c_common_parse_file): Likewise; also, call c_parse_file rather than
610         yyparse.
611         * c-parse.in: Move cleanup code to c_parse_file.
612         (free_parser_stacks): Move contents to c_parse_file.
613         (c_parse_file): New.
614         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
615         for integer types.
616         (C_DECL_FILE_SCOPE): New.
617         (finish_file): Move prototype to c-common.h.
618         (merge_translation_unit_decls): New prototype.
619         (comptypes): Add extra parameter to prototype.
620         (c_write_global_declarations): New prototype.
621         * c-typeck.c (tagged_types_tu_compatible_p): New.
622         (function_types_compatible_p): Add extra parameter, change all callers.
623         (type_lists_compatible_p): Likewise.
624         (comptypes): Likewise.
625         (struct tagged_tu_seen): New.
626         (tagged_tu_seen_base): New.
627         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
628         (c_mark_addressable): Remove #if 0 code.
629         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
630         comment explaining why it shouldn't have to.
631         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
632         options.
633         * cppinit.c (cpp_read_next_file): New.
634         (cpp_read_main_file): Use it.
635         * cpplib.c (undefine_macros): New.
636         (cpp_undef_all): New.
637         * cpplib.h (cpp_read_next_file): Prototype.
638         (cpp_undef_all): Prototype.
639         * langhooks-def.h (write_global_declarations): Remove prototype.
640         * toplev.h (write_global_declarations): Add prototype.
641         * tree.c (decl_type_context): Use switch statement, handle
642         TRANSLATION_UNIT_DECL.
643         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
644         (TRANSLATION_UNIT_DECL): New kind of tree.
645         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
646         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
647         * doc/invoke.texi: Make attempt to document new functionality.
648
649         2003-05-19  Per Bothner <bothner@apple.com>
650
651         * gcc.c (combine_inputs): New.
652         (process_command): Set combine_inputs.
653         (do_spec_1): Handle combine_inputs.
654         (main): Likewise.
655
656 2003-07-10  James E Wilson  <wilson@tuliptree.org>
657
658         PR optimization/9745
659         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
660         loop_insn_emit_before.
661         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
662
663 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
664
665         * cppcharset.c: Fix comment.
666         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
667         (EILSEQ): #define to EINVAL if not already defined.
668         (convert_using_iconv): #if out when !HAVE_ICONV.
669         (init_iconv_desc): Handle !HAVE_ICONV here...
670         (cpp_init_iconv): ...not here.
671
672 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
673
674         * common.opt: More --help messages.
675         * opts.c (print_help): Use puts().
676         * toplev.c (f_options): Remove help text.
677         (display_help): Don't dump f_options.
678
679 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
680
681         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
682         Move i?86-*-interix* to the don't-fix list.
683         * fixinc/fixinc.interix: Delete with extreme prejudice.
684
685 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
686
687         PR bootstrap/10758
688         * doc/install.texi: Document requirements for ia64-*-hpux* target.
689
690 2003-07-10  Roger Sayle  <roger@eyesopen.com>
691
692         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
693
694 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
695
696         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
697         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
698         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
699         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
700         convert_no_conversion, convert_using_iconv): New functions.
701         (APPLY_CONVERSION): New macro.
702         (struct conversion, conversion_tab): New data structure.
703         (init_iconv_desc): Check conversion_tab for a custom conversion
704         primitive before trying to use iconv.
705         (convert_cset): Deleted.
706         (cpp_init_iconv): Use UTF- terminology, not UCS-.
707         (_cpp_destroy_iconv): Update to match.
708         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
709         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
710         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
711         (_cpp_interpret_string_notranslate): New function, moved here
712         from cpplib.c.
713
714         * cpphash.h (convert_f, struct cset_converter): New types.
715         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
716         are now struct cset_converter, not bare iconv_t.
717         Update prototypes.
718         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
719         all callers changed.
720
721 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
722
723         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
724         to opts.sh command line.
725         * opts.sh: Write to temporary files with a move-if-change at the end.
726
727 2003-07-10  Denis Chertykov  <denisc@overta.ru>
728             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
729
730         * combine.c (gen_binary): Handle the CLOBBER rtx and
731         don't build a binary operation with it.
732
733 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
734
735         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
736         store_killed_after, store_killed_before): Keep track of the correct
737         dependency function to use.
738
739 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
740         * toplev.c (do_compile): Don't try to open dump files before
741         lang_dependent_init initializes dump_base_name.
742
743 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
744
745         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
746         Use ARRAY_SIZE.
747         * config/frv/frv.c (frv_expand_builtin): Likewise.
748         * config/sh/sh.c (sh_media_init_builtins): Likewise.
749
750 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
751
752         PR c++/10032
753         * doc/invoke.texi (C++ Dialect Options): Change documentation of
754         -fpermissive.
755
756 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
757
758         * tm.texi (RETURN_ADDR_OFFSET): Document.
759
760 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
761
762         * gcov-io.h: Update documentation.
763         (GCOV_UNSIGNED2STRING): New.
764         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
765         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
766         GCOV_TAG_SUMMARY_LENGTH): Adjust.
767         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
768         GCOV_TAG_COUNTER_NUM): New.
769         (GCOV_BLOCK_SIZE): Number of words.
770         (gcov_var): Adjust buffer type.
771         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
772         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
773         count, not byte count.
774         (gcov_open): Adjust overread init.
775         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
776         gcov_write_string, gcov_write_tag, gcov_write_length,
777         gcov_write_tag_length): Adjust.
778         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
779         (gcov_sync, gcov_seek): Adjust.
780         * gcov-dump.c (print_usage): Show gcc version only.
781         (dump_file): Use GCOV_UNSIGNED2STRING.
782         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
783         * gcov.c (print_version): Show gcc version only.
784         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
785         GCOV_TAG_*_NUM macros.
786         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
787         GCOV_TAG_COUNTER_LENGTH.
788         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
789         Use GCOV_TAG_COUNTER_NUM.
790         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
791         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
792
793 2003-07-10  Andreas Schwab  <schwab@suse.de>
794
795         * gcov-dump.c (dump_file): Fix missing address operator.
796
797 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
798
799         PR c/11449
800         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
801         of HOST_WIDE_INT.
802         (fold_single_bit_test): If sign_bit_p() fails, assume that the
803         bit being tested is not a sign bit.
804
805 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
806
807         * config/h8300/h8300.md (a peephole2): New.
808
809 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
810
811         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
812         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
813         from ld-linux.so.2 to ld.so.1.
814         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
815         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
816         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
817         nor -Wl,-rpath-link.
818         (LIB_SPEC): Add -rpath-link if !static.
819         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
820         * config/mn10300/mn10300.c (mn10300_protect_label): New
821         variable.
822         * config/mn10300/linux.h (PRINT_OPERAND,
823         PRINT_OPERAND_ADDRESS): Set it during their execution.
824         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
825         mn10300_protect_label is set.
826         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
827         -Wl,-rpath-link.
828         (LIB_SPEC, STARTFILE_SPEC): Define.
829         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
830         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
831         FLOAT_BIT_ORDER_MISMATCH.
832         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
833         * config.gcc (am33_2.0-*-linux*): Added.
834         * config/mn10300/linux.h: New.
835         * config/mn10300/t-linux: New.
836
837 2003-07-10  Andreas Jaeger  <aj@suse.de>
838
839         * fold-const.c: Properly wrap prototypes.
840
841 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
842
843         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
844         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
845         Moved from...
846         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
847         * config/mn10300/mn10300.h: GTY-declare it.
848         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
849         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
850         prototype.  Use incoming RTL argument.
851         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
852         * config/mn10300/mn10300.md (int_label): Move C statements...
853         (GOTaddr2picreg): ... here.
854         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
855         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
856         * config/mn10300/mn10300.c (mn10300_encode_section_info):
857         ... here.  New function.
858         (TARGET_ENCODE_SECTION_INFO): Define to it.
859         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
860         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
861         pattern name.
862         (mn10300_loadPC): Define as insn splittable after reload.
863         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
864         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
865         be defined in .rodata even in PIC, now that the assembler
866         supports that.
867         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
868         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
869         symbol take an underscore prefix.
870         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
871         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
872         legitimize_pic_address): Declare.
873         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
874         the PIC register as fixed.
875         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
876         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
877         PIC.
878         (LEGITIMATE_PIC_OPERAND_P): Define.
879         (PIC_OFFSET_TABLE_REGNUM): Define.
880         (GOT_SYMBOL_NAME): Define.
881         (SYMBOLIC_CONST_P): Define.
882         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
883         symbols.
884         (MN10300_GLOBAL_P): Test it.
885         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
886         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
887         * config/mn10300/mn10300.c (print_operand): Handle unspec.
888         (expand_prologue): Set PIC register.
889         (call_address_operand): Don't match SYMBOL_REFs in PIC.
890         (legitimize_address): Call legitimize_pic_address.
891         (legitimize_pic_address): New fn.
892         (legitimate_pic_operand_p): New fn.
893         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
894         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
895         UNSPEC_PLT): New constants.
896         (pop_pic_reg): New insn.
897         (movsi): Adjust non-PIC addresses.
898         (builtin_setjmp_receiver): Restore the PIC register.
899         (casesi): New insn.
900         (call): Adjust non-PIC addresses.
901         (int_label, GOTaddr2picreg): New expands.
902         (am33_loadPC): New insn.
903         (mn10300_loadPC): New expand.
904         (call_next_insn): New insn.
905         (add_GOT_to_pic_reg): New expand.
906         (symGOT2reg, symGOT2reg_i): New expands.
907         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
908         (sym2PIC, sym2PLT): New expands.
909
910 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
911
912         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
913         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
914         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
915         to flag_unsafe_math_optimizations.
916         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
917         * config/mn10300/mn10300.c (expand_prologue): Mark
918         FP-register-saving insns as frame-related.
919         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
920         * config/mn10300/mn10300.c
921         (mn10300_get_live_callee_saved_regs): Don't search past
922         LAST_EXTENDED_REGNUM.
923         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
924         * config/mn10300/mn10300.md: Remove excessive line breaks from
925         `@' output patterns that were accounted as additional
926         alternatives.
927         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
928         Re-introduce changes accidentally removed in Richard Sandiford's
929         2000-12-05's patch.
930         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
931         Re-instate am33-2 lost in merge from net GCC.
932         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
933         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
934         floating-point registers.
935         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
936         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
937         pessimizations that had gone in on 2000-05-08.
938         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
939         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
940         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
941         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
942         operand 0.
943         * (movhi): Likewise.
944         * (movsi): Likewise.
945         * (movsf): Likewise.
946         * (movdi): Likewise.
947         * (movdf): Likewise.
948         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
949         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
950         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
951         (expand_prologue, expand_epilogue): Save and restore FP regs.
952         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
953         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
954         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
955         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
956         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
957         Do not clobber cc0.
958         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
959         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
960         Discourage the two-argument, longer opcodes.
961         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
962         ones.
963         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
964         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
965         * config/mn10300/mn10300.md (cmpsf): New pattern.
966         (branch): Test mdep.fpCC and output fbCC.
967         * config/mn10300/mn10300.c (print_operand): Output conditions.
968         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
969         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
970         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
971         mulsf3, divsf3): Use the `F' constraint for FP values.
972         * config/mn10300/mn10300.c (const_1f_operand): New function.
973         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
974         * config/mn10300/mn10300.md (sqrtsf2): New expand.
975         (rsqrtsf2): New insn.
976         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
977         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
978         previous check-in.
979         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
980         * config/mn10300/mn10300.md (abssf2, negdf2): On
981         TARGET_AM33_2, expand to...
982         (abssf2_am33_2, negdf2_am33_2): New insns.
983         (addsf3, subsf3, mulsf3, divsf3): Likewise.
984         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
985         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
986         movdi, movdf): Added FP regs.
987         * invoke.texi (-mam33-2, -mno-am33-2): Document.
988         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
989         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
990         New macros.
991         (REGNO_AM33_2_FP_P): Renamed to...
992         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
993         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
994         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
995         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
996         regs from GENERAL_REGS.
997         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
998         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
999         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
1000         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
1001         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
1002         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
1003         as FP_REGS.
1004         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
1005         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
1006         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
1007         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
1008         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
1009         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
1010         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
1011         AM33/2.0 floating-point registers.
1012         (CONDITIONAL_REGISTER_USAGE): Adjust.
1013         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
1014         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
1015         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
1016         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
1017         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
1018         (MULTILIB_DIRNAMES): Likewise.
1019         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
1020         `__AM33_2__' when `-mam33-2' is given.
1021         (TARGET_AM33_2): Define.
1022         (TARGET_SWITCHES): Adjust.
1023         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
1024         when appropriate.
1025
1026 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
1027
1028         * doc/install.texi: Add missing @.
1029
1030 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
1031
1032         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
1033
1034 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
1035
1036         PR/11144
1037         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
1038
1039 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
1040
1041         PR bootstrap/11043
1042         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
1043         "x-crtfini.o" with "crtinit.o", "crtfini.o".
1044
1045         * fixinc/inclhack.def (limits_ifndefs): Add select test.
1046         * fixinc/fixincl.x: Rebuild.
1047
1048         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
1049         * fixinc/fixincl.x: Rebuild.
1050
1051 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
1052
1053         * doc/install.texi (Configuration): Document the valgrind option
1054         to --enable-checking.
1055
1056 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
1057
1058         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
1059
1060 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1061
1062         * c-lex.c (cb_ident): Cast cstr.text to const char *.
1063
1064 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
1065
1066         * gcov-io.h: Update documentation.
1067         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
1068         GCOV_NOTE_MAGIC.
1069         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
1070         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
1071         (struct gcov_var): Change buffer's type. Add endian flag.
1072         (gcov_open): Remove mode in libgcov.
1073         (gcov_magic): Prototype.
1074         * gcov-io.c (from_file): New.
1075         (gcov_open): Clear endian flag.
1076         (gcov_magic): New.
1077         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
1078         pointers.
1079         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
1080         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
1081         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
1082         * gcov-iov.c (main): Correct cast.
1083         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
1084         conversion.
1085         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
1086         (coverage_init): Use GCOV_NOTE_SUFFIX.
1087         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
1088         Rename to gcov_version, and return flag.
1089         (gcov_exit): Use gcov_version.
1090         (__gcov_init): Use gcov_version.
1091         * Makefile.in (coverageexts): Update.
1092         * gcov.c (print_version): Remove endianness conversion.
1093         (create_file_names): Use GCOV_NOTE_SUFFIX.
1094         (read_graph_file): Use gcov_magic.
1095         (read_count_file): Likewise.
1096         * gcov-dump.c (dump_file): Remove endianness conversion, use
1097         gcov_magic.
1098
1099 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
1100
1101         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
1102         coverage is on.
1103         * configure: Regenerated.
1104         * Makefile.in (ALL_CFLAGS): Correct its comment.
1105
1106 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
1107
1108         * fold-const.c (make_range): Do not access operand 1 for a
1109         zero-operand operator.
1110
1111 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
1112
1113         * toplev.c (warn_dummy, W_options): Die.
1114         (display_help): Don't print W_options.
1115         * common.opt: Add W_options help from toplev.c.
1116
1117 2003-07-09  Andreas Jaeger  <aj@suse.de>
1118
1119         * opts.c (wrap_help): Only pass int arguments as arguments to
1120         printf's '*' modifier.  Change argument of function.
1121
1122 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
1123
1124         * doc/invoke.texi: Fix misspelling of "@item".
1125
1126 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
1127
1128         * config/i386/i386.md: Remove an old comment about
1129         NOTICE_UPDATE_CC.
1130
1131 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
1132
1133         * cgraph.c (cgraph_node_name): New function.
1134         (dump_cgraph): Use it.
1135         * cgraph.h (cgraph_dump_file): Declare.
1136         (cgraph_node_name): Declare.
1137         * cgraphunit.c: Include timevar.h
1138         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
1139         (cgraph_optimize_function): Use TV_INTEGRATION.
1140         (cgraph_mark_local_functions): reorganize dumps.
1141         (cgraph_mark_functions_to_inline_once): Likewise.
1142         (cgraph_optimize): Likewise; use timevar.
1143         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
1144         * toplev.c (dump_file_index): Add DFI_cgraph.
1145         (dump_file_info): Likewise.
1146         (cgraph_dump_file): New global variable.
1147         (do_compile): Open and close cgraph dump.
1148         * invoke.texi (-d): Document new flag; renumber.
1149
1150 2003-07-08  Roger Sayle  <roger@eyesopen.com>
1151
1152         PR c/11370
1153         * calls.c (emit_call_1): Don't bother popping the arguments off of
1154         the stack after a noreturn function call;  The adjustment is dead.
1155         (expand_call): Likewise.
1156
1157 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
1158
1159         * expr.c (MOVE_MAX_PIECES): Move from here...
1160         * defaults.h (MOVE_MAX_PIECES): ... to here.
1161
1162 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
1163
1164         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
1165
1166 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1167
1168         * genattr.c (internal_dfa_insn_code): Don't prototype.
1169         * genattrtab.c (attr_desc): Add `static_p' field.
1170         (expand_units): Make blockage range and ready cost functions
1171         static.
1172         (write_attr_get): Don't add extern prototypes in C file.  Mark
1173         static functions as appropriate.
1174         (find_attr, make_internal_attr): Initialize static_p.
1175         * genattrtab.h (ATTR_STATIC): New macro.
1176         * genautomata.c (output_internal_reset_func): Mark output function
1177         as inline.
1178         (make_internal_dfa_insn_code_attr): Mark output function as static.
1179
1180 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1181
1182         * genattrtab.h: Add new macros for attr `special' flags.
1183         * genattrtab.c (attr_desc): Reorder/resize fields better.
1184         Use attr `special' macros in all calls to make_internal_attr.
1185         * genautomata.c: Likewise.
1186
1187 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
1188
1189         * c-common.c (c_estimate_num_insns_1): New static function.
1190         (c_estimate_num_insns): New global function.
1191         * c-common.h (DECL_NUM_STMTS): Rename to...
1192         (DECL_ESTIMATED_INSNS): ... this.
1193         (c_estimate_num_insns): Declare.
1194         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
1195         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
1196         * c-semantics.c (add_stmt): Do not account statements.
1197         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
1198         New.
1199         * langhooks.h (lang_hooks_for_tree_inlining): Add
1200         estimate_num_insns
1201         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
1202         to 100.
1203         (max-inline-insns): set to 300.
1204         (min-inline-insns): set to 10.
1205         * tree-inline.c (struct inline_data): Rename inlined_stmts to
1206         inlined-insns.
1207         (INSNS_PER_STMT): Kill.
1208         (inlinable_function_p): Compute and store body size.
1209         (expand_call_inline): Likewise.
1210         (optimize_inline_calls): Likewise.
1211
1212 2003-07-08  James E Wilson  <wilson@tuliptree.org>
1213
1214         PR target/10021
1215         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
1216         loop over new variable t2 instead of t.
1217
1218 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
1219
1220         PR bootstrap/11455
1221         * config/i386/winnt.c: Replace use of error(), warning() with
1222         error_with_decl(), warning_with_decl(),  throughout.
1223
1224 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
1225
1226         * opts.c (wrap_help): Use unsigned int, not size_t.
1227
1228 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
1229
1230         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
1231         as .file/.loc directives are incompatible with linker relaxation.
1232
1233 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
1234
1235         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
1236         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
1237         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
1238         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
1239         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
1240         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
1241         Escape { and } characters which are not part of range expressions.
1242         * fixinc/fixincl.x: Regenerate.
1243         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
1244
1245 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1246
1247         PR c/1687
1248         * tree-inline.c (find_alloca_call): Use
1249         walk_tree_without_duplicates, instead of walk_tree.
1250         (find_builtin_longjmp_call): Likewise.
1251         * c-objc-common.c (c_cannot_inline_fn): Likewise.
1252         * c-semantics.c (find_reachable_label): Likewise.
1253
1254 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
1255
1256         PR c/11420
1257         * config/i386/i386.c (ix86_check_movabs): New function.
1258         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
1259         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
1260         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
1261
1262 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
1263
1264         * Makefile.in (install-po): Cope with empty CATALOGS.
1265
1266 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
1267
1268         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
1269         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
1270         (SECTION_FUNCTION_TEMPLATE): Delete.
1271         * config/mips/elf.h: As for elf64.h.
1272         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
1273         * config/mips/linux.h: As for elf.h
1274         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
1275         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
1276         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
1277         of in_sdata from current_section_name and current_section_flags.
1278         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
1279         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
1280         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
1281         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
1282         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
1283         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
1284         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
1285         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
1286         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
1287         (override_options): Remove setting of MASK_GPOPT.
1288         (mips_output_external): Use mips_in_small_data_p to check whether a
1289         symbol needs an .extern directive.  Don't emit such directives for
1290         TARGET_EXPLICIT_RELOCS.
1291         (mips_declare_object): Update accordingly.
1292         (mips_select_rtx_section): Call named_section rather than
1293         SMALL_DATA_SECTION.
1294         (mips_select_section): Use default_elf_section_section for everything
1295         except .text string constants.
1296         (mips_in_small_data_p): New function.
1297         (mips_encode_section_info): Remove small data handling.
1298         (mips_unique_section): Delete.
1299         (iris6_section_type_flags): New function.
1300         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
1301
1302 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1303
1304         PR Target/11453
1305         * pa.md: Disparage all mtsar constraints.
1306         (extzv, extv, insv): Don't fail on length of {32|64}.
1307
1308 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
1309
1310         * system.h: Poison MAP_CHARACTER.
1311         * config/i370/i370-protos.h (mvs_map_char): Delete.
1312         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
1313         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
1314         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
1315
1316 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
1317
1318         * toplev.c (randomize): Correct call to time().
1319
1320 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
1321
1322         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
1323         REG_EQUIV notes as well.
1324
1325 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
1326
1327         * doc/md.texi: Fix the description of addmodecc.
1328
1329 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
1330
1331         * Makefile.in (top_builddir): Set to "..", not ".".
1332         (INTLLIBS, INTLDEPS): Delete.
1333         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
1334         (LIBDEPS): Add $(LIBICONV_DEP).
1335         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
1336         (INCLUDES): Replace -I../intl with @INCINTL@.
1337         ($(top_builddir)/intl/libintl.a): Delete rule.
1338         (stage2-start, stage3-start, stage4-start, stageprofile-start,
1339         stagefeedback-start): Use $$ for variable to be evaluated by
1340         shell, not make.
1341         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
1342         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
1343         * aclocal.m4: sinclude ../config/progtest.m4.  Add
1344         contents of lcmessage.m4 from gettext distro.
1345         * configure.in: Check for wchar.h and setlocale.  Set
1346         LIBICONV_DEP to the empty string and substitute it.
1347         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
1348         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
1349         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
1350         in $LIBINTL, to avoid linking it twice.
1351         * configure, config.in: Regenerate.
1352
1353 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1354
1355         * fixinc/mkfixinc.sh: Remove winnt support.
1356         * fixinc/fixinc.winnt: Delete with extreme prejudice.
1357
1358 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
1359
1360         * Makefile.in: Update.
1361         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
1362         * c.opt: Update documentation.
1363         * common.opt: Add some help text.
1364         * opts.c: Include intl.h.
1365         (wrap_help, print_help): New.
1366         (find_opt, handle_option, common_handle_option): opt_text now
1367         contains the '-'.  Use print_help to output help.
1368         * opts.h (struct cl_option): New member "help".
1369         * opts.sh: Update to handle help text output and to prepend
1370         options with '-'.
1371         * toplev.c (display_help): Remove some help text.
1372
1373 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
1374             Fariborz Jahanian  <fjahanian@apple.com>
1375
1376         * configure.in: Test for PowerPC mfcr field support in assembler.
1377         * config.in, configure: Regenderated.
1378
1379         * config/rs6000/power4.md: Add mfcrf reservation.
1380         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
1381         * config/rs6000/rs6000.c (mfcr_operation): Define.
1382         (print_operand): Add 'Q' case for mfcrf.
1383         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
1384         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
1385         (movcc_internal1): Emit optional field operand for mfcr and set
1386         "type" attribute appropriately.
1387         (mfcr SCC): Likewise.
1388         (movesi_from_cr_one): New.
1389
1390 2003-07-07  Roger Sayle  <roger@eyesopen.com>
1391
1392         * config/i386/i386.md: Correct check-in of incorrect version.
1393
1394 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1395
1396         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
1397         adjacent stdio calls.
1398         * c-decl.c (c_print_identifier): Likewise.
1399         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
1400         * print-rtl.c (print_rtx): Likewise.
1401         * print-tree.c (print_node_brief, print_node): Likewise.
1402         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
1403
1404         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
1405         * config.in, configure: Regenerated.
1406
1407 2003-07-07  Roger Sayle  <roger@eyesopen.com>
1408
1409         PR target/10979
1410         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
1411         Changed to define_expand patterns that copy operand[1] to prevent
1412         it from being clobbered before emitting an atan2?f3_1 insn.
1413         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
1414         patterns that actually specify the behaviour of x87's FPATAN.
1415
1416 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
1417
1418         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
1419         clearing of SYMBOL_FLAG_LOCAL bit.
1420         If vcall_offset fits into signed 16-bit immediate, use
1421         one instruction for both addition and load.
1422
1423 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
1424
1425         * opts.c (common_handle_option): Correct handling of the
1426         -falign- switches that do and don't take an argument.
1427
1428 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
1429
1430         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
1431         today.
1432         (pushhi1_h8300hs): Likewise.
1433
1434 2003-07-07  Andreas Jaeger  <aj@suse.de>
1435
1436         * genextract.c: Convert remaining prototypes to ISO C90.
1437
1438         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
1439         * fold-const.c (fold_single_bit_test): Likewise.
1440         * diagnostic.c (default_diagnostic_finalizer): Likewise.
1441         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
1442
1443         * gengtype.c (write_array): Generate ISO C90 prototypes.
1444
1445         * genflags.c (gen_proto): Generate ISO C90 prototypes.
1446
1447 2003-07-07  Roger Sayle  <roger@eyesopen.com>
1448
1449         PR optimization/11059
1450         * expr.c (can_store_by_pieces): Return true if length is zero.
1451         (store_by_pieces): If length is zero and endp is two, abort,
1452         othwerise, if length is zero and endp is not two, return "to".
1453         (clear_by_pieces): Do nothing if length is zero.
1454         (clear_storage): Do nothing if length is zero.
1455         (store_constructor): Simplify code when size is zero, or the
1456         target has already been cleared.  This avoids emitting a
1457         blockage instruction when initializing empty structures.
1458
1459 2003-07-07  Andreas Jaeger  <aj@suse.de>
1460
1461         * mips-tfile.c: Convert prototypes to ISO C90.
1462         * mips-tdump.c: Convert prototypes to ISO C90.
1463
1464 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
1465
1466         * rtl.h (emit_line_note): Take a location_t.
1467         (emit_line_note_force): Remove.
1468         (set_file_and_line_for_statement): Take a location_t.
1469         * tree.g (emit_line_note): Take a location_t.
1470         * emit-rtl.c (emit_line_note): Take a location_t.
1471         (emit_line_note_force): Remove.
1472         * function.c (init_function_start): Adjust emit_line_note call.
1473         (expand_function_end): Use force_next_line_note, not
1474         emit_line_note_force.
1475         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
1476         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
1477         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
1478         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
1479         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
1480         genrtl_continue_stmt, genrtl_switch_stmt,
1481         genrtl_asm_stmt): Likewise.
1482         * expr.c (expand_expr): Likewise.
1483         * integrate.c (expand_inline_function): Likewise.
1484         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
1485         (expand_decl_init): Adjust emit_line_note call.
1486
1487 2003-07-07  Dale Johannesen  <dalej@apple.com>
1488
1489         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
1490
1491 2003-07-07  Andreas Jaeger  <aj@suse.de>
1492
1493         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
1494         * config/i386/i386.c: Likewise.
1495
1496 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
1497
1498         * config/h8300/h8300.md: Use gen_int_mode instead of
1499         GEN_INT (trunc_int_for_mode (...)).
1500
1501 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
1502
1503         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
1504         2 bytes and then subtract 2 from the stack pointer.
1505         (pushhi1_h8300hs): Likewise.
1506
1507 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
1508
1509         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
1510         -frandom-seed.
1511         * configure: Regenerated.
1512         * Makefile.in: Remove extraneous comment.
1513         * toplev.c (randomize): Protect against potential multiple calls.
1514         * doc/invoke.texi (-frandom-seed): Document use for in coverage
1515         files.
1516
1517 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1518             Eric Botcazou  <ebotcazou@libertysurf.fr>
1519
1520         PR optimization/11198
1521         * alias.c (objects_must_conflict_p): Return 1 if the types have
1522         the same alias set, not if the alias sets only conflict.
1523
1524 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
1525
1526         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
1527         (convert_cset): Change inbuf to type ICONV_CONST char.
1528         * Makefile.in (LIBS): Add LIBICONV.
1529
1530         * doc/invoke.texi (-falign-functions): Document that
1531         when n is zero then a machine-dependent default is used.
1532         (-falign-labels): Document that when n is zero then a
1533         machine-dependent default is used and that -falign-labels =1
1534         is equivalent to -fno-align-labels.
1535         (-falign-loops): Likewise.
1536         (-falign-jumps): Likewise.
1537
1538 2003-07-06  Art Haas  <ahaas@airmail.net>
1539
1540         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
1541         initializer syntax.
1542
1543 2003-07-06  James E Wilson  <wilson@tuliptree.org>
1544
1545         PR optimization/9812
1546         * rtl.h (mem_for_const_double): Delete prototype.
1547         * varasm.c (mem_for_const_double): Delete function.
1548         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
1549         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
1550         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
1551         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
1552         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
1553         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
1554         comment about confused support for XFmode constants.
1555
1556 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
1557
1558         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
1559
1560 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
1561
1562         * config/h8300/h8300.c: Fix comment typos.
1563         * config/h8300/h8300.md: Likewise.
1564         * config/i386/athlon.md: Likewise.
1565         * config/i386/i386.c: Likewise.
1566         * config/i386/pentium.md: Likewise.
1567         * config/ia64/ia64.c: Likewise.
1568         * config/ia64/itanium1.md: Likewise.
1569         * config/ia64/itanium2.md: Likewise.
1570         * config/m32r/m32r.md: Likewise.
1571         * config/m68hc11/m68hc11.c: Likewise.
1572         * config/mcore/mcore.c: Likewise.
1573         * config/mips/sr71k.md: Likewise.
1574         * config/mips/t-iris5-as: Likewise.
1575         * config/mmix/mmix.h: Likewise.
1576         * config/ns32k/ns32k.h: Likewise.
1577         * config/ns32k/NOTES: Fix a typo.
1578
1579 2003-07-06  Andreas Jaeger  <aj@suse.de>
1580
1581         * stmt.c: Convert remaining prototypes to ISO C90.
1582         * cfglayout.c: Likewise.
1583         * dbxout.c: Likewise.
1584         * gcc.c: Likewise.
1585         * genemit.c: Likewise.
1586
1587         * basic-block.h: Convert prototypes to ISO C90.
1588         * c-parse.in: Likewise.
1589         * c-pragma.h: Likewise.
1590         * c-typeck.c: Likewise.
1591         * cfghooks.h: Likewise.
1592         * cfgloopanal.c: Likewise.
1593         * dbxout.h: Likewise.
1594         * debug.h: Likewise.
1595         * dwarf2asm.h: Likewise.
1596         * gcov.c: Likewise.
1597         * gengtype-lex.l: Likewise.
1598         * sched-int.h: Likewise.
1599         * timevar.c: Likewise.
1600
1601 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
1602
1603         * c-common.h (c_comon_handle_filename,
1604         c_common_missing_arguement): New.
1605         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
1606         LANG_HOOKS_MISSING_ARGUMENT): New.
1607         * c-opts.c (missing_arg): Rename c_common_missing_argument,
1608         update to be an appropriate langhook.
1609         (c_common_handle_option): Don't handle filenames.
1610         (c_common_handle_filename): New.
1611         * hooks.c (hook_void_constcharptr,
1612         hook_bool_constcharptr_size_t_false): New.
1613         * hooks.h (hook_void_constcharptr,
1614         hook_bool_constcharptr_size_t_false): New.
1615         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
1616         LANG_HOOKS_MISSING_ARGUMENT): New.
1617         (LANG_HOOKS_INITIALIZER): Update.
1618         * langhooks.h (struct lang_hooks): Add handle_filename and
1619         missing_argument.
1620         * opts.c (handle_option): Don't handle filenames here, but ...
1621         (handle_options): ... here.
1622         (common_handle_option): Don't handle missing arguments here.
1623         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
1624         LANG_HOOKS_MISSING_ARGUMENT): New.
1625
1626 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
1627
1628         * Makfile.in: Remove traces of mbchar.
1629         * c-parse.in (MULTIBYTE_CHARS): Remove.
1630         * config.in (MULTIBYTE_CHARS): Remove.
1631         * configure: Remove --enable-mbchar.
1632         * configure.in: Remove --enable-mbchar.
1633         * mbchar.c, mbchar.h: Remove.
1634         * system.h: Poison MULTIBYTE_CHARS.
1635         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
1636         * config/linux.h (MULTIBYTE_CHARS): Remove.
1637         * config/svr4.h (MULTIBYTE_CHARS): Remove.
1638         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
1639
1640 2003-07-06  Andreas Jaeger  <aj@suse.de>
1641
1642         * varray.c (varray_check_failed): Fix typo.
1643
1644         * unroll.c: Convert prototypes to ISO C90.
1645         * varasm.c: Likewise.
1646         * varray.c: Likewise.
1647         * varray.h: Likewise.
1648         * vmsdbgout.c: Likewise.
1649         * xcoffout.c: Likewise.
1650         * xcoffout.h: Likewise.
1651
1652 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
1653
1654         * gcov-io.h: Add a local time stamp.
1655         (struct gcov_info): Add stamp field.
1656         (gcov_truncate): New.
1657         * coverage.c (read_counts_file): Skip the stamp.
1658         (coverage_begin_output): Write the stamp.
1659         (build_gcov_info): Declare and init the stamp.
1660         (coverage_finish): Only unlink data file, if stamp is zero.
1661         * gcov-dump.c (dump_file): Dump the stamp.
1662         * gcov.c (bbg_stamp): New.
1663         (release_structures): Clear bbg_stamp.
1664         (read_graph_file): Read stamp.
1665         (read_count_file): Check stamp.
1666         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
1667
1668 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
1669
1670         * tree.h (default_flag_random_seed): Remove.
1671         * toplev.h (local_tick): Declare.
1672         * tree.c (flag_random_seed, default_flag_random_seed): Move to
1673         toplev.c.
1674         (append_random_chars): Don't call default_flag_random_seed.
1675         * toplev.c (flag_random_seed): Define here. Set local_tick.
1676         (local_tick): Define.
1677         (randomize): New, moved from tree.c.
1678         (print_switch_values): Adjust.
1679         (toplev_main): Call randomize.
1680
1681 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
1682
1683         * tree.h (crc32_string): Declare.
1684         * tree.c (append_random_chars): Remove.
1685         (crc32_string): New.
1686         (get_file_function_name_long): Use crc32_string here.
1687
1688 2003-07-06  Andreas Jaeger  <aj@suse.de>
1689
1690         * gcc.c: Convert prototypes to ISO C90.
1691         * gcc.h: Likewise.
1692         * gcov-dump.c: Likewise.
1693         * gcov-iov.c: Likewise.
1694         * gcse.c: Likewise.
1695         * genattrtab.h: Likewise.
1696         * ggc.h: Likewise.
1697         * global.c: Likewise.
1698         * graph.c: Likewise.
1699         * graph.h: Likewise.
1700         * hosthooks.h: Likewise.
1701         * hooks.h: Likewise.
1702         * hooks.c: Likewise.
1703         * hashtable.h: Likewise.
1704         * hashtable.c: Likewise.
1705         * haifa-sched.c: Likewise.
1706         * integrate.h: Likewise.
1707         * integrate.c: Likewise.
1708         * input.h: Likewise.
1709         * ifcvt.c: Likewise.
1710         * jump.c: Likewise.
1711         * langhooks-def.h: Likewise.  Add extern to prototypes.
1712         * langhooks.c: Likewise.
1713         * langhooks.h: Likewise.
1714         * lcm.c: Likewise.
1715         * local-alloc.c: Likewise.
1716         * loop-init.c: Likewise.
1717         * loop-unroll.c: Likewise.
1718         * loop-unswitch.c: Likewise.
1719         * loop.c: Likewise.
1720         * loop.h: Likewise. Add extern to prototypes.
1721         * machmode.h: Likewise.
1722         * main.c: Likewise.
1723         * mbchar.c: Likewise.
1724         * mbchar.h: Likewise.
1725         * mkdeps.c: Likewise.
1726         * mkdeps.h: Likewise.
1727         * optabs.c: Likewise.
1728         * optabs.h: Likewise.
1729         * output.h: Likewise.
1730         * gccspec.c: Likwise.
1731         * postreload.c: Likewise.
1732         * prefix.c: Likewise.
1733         * prefix.h: Likewise.
1734         * print-rtl.c: Likewise.
1735         * print-tree.c: Likewise.
1736         * profile.c: Likewise.
1737         * read-rtl.c: Likewise.
1738         * real.c: Likewise.
1739         * real.h: Likewise.
1740         * recog.c: Likewise.
1741         * recog.h: Likewise.
1742         * reg-stack.c: Likewise.
1743         * regclass.c: Likewise.
1744         * regmove.c: Likewise.
1745         * regrename.c: Likewise.
1746         * regs.h: Likewise.
1747         * reload.c: Likewise.
1748         * reload.h: Likewise.
1749         * reload1.c: Likewise.
1750         * reorg.c: Likewise.
1751         * resource.c: Likewise.
1752         * resource.h: Likewise.
1753         * rtl-error.c: Likewise.
1754         * rtl.c: Likewise.
1755         * rtl.h: Likewise.
1756         * rtlanal.c: Likewise.
1757         * sbitmap.c: Likewise.
1758         * sbitmap.h: Likewise.
1759         * scan-decls.c: Likewise.
1760         * scan.c: Likewise.
1761         * sched-deps.c: Likewise.
1762         * sched-ebb.c: Likewise.
1763         * sched-int.h: Likewise.
1764         * sched-rgn.c: Likewise.
1765         * sched-vis.c: Likewise.
1766         * sibcall.c: Likewise.
1767         * simplify-rtx.c: Likewise.
1768         * sreal.c: Likewise.
1769         * sreal.h: Likewise.
1770         * ssa-ccp.c: Likewise.
1771         * ssa-dce.c: Likewise.
1772         * ssa.c: Likewise.
1773         * ssa.h: Likewise.
1774         * stack.h: Likewise.
1775         * stmt.c: Likewise.
1776         * stor-layout.c: Likewise.
1777         * stringpool.c: Likewise.
1778         * target.h: Likewise.
1779         * timevar.c: Likewise.
1780         * timevar.h: Likewise.
1781         * tlink.c: Likewise.
1782         * tracer.c: Likewise.
1783         * tree-inline.c: Likewise.
1784         * tree-inline.h: Likewise.
1785         * tree.c: Likewise.
1786         * tree.h: Likewise.
1787
1788 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1789
1790         * combine.c (nonzero_bits1): Fix a warning.
1791
1792 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1793
1794         * config/h8300/h8300.c (compute_mov_length): Correct the
1795         length of loading CONST0_RTX (SFmode).
1796
1797 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
1798
1799         * toplev.c (output_clean_symbol_name): Remove.
1800         * toplev.h (output_clean_symbol_name): Remove.
1801         * config/alpha/alpha.c (unicosmk_output_module_name): Use
1802         lbasename & clean_symbol_name.
1803
1804 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1805
1806         * ggc.h: Follow spelling conventions.
1807         * config/i386/i386.c: Likewise.
1808         * config/i386/winnt.c: Likewise.
1809         * config/rs6000/rs6000.c: Likewise.
1810
1811 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1812
1813         * bt-load.c: Fix comment typos.
1814         * c-incpath.c: Likewise.
1815         * cfg.c: Likewise.
1816         * cfgcleanup.c: Likewise.
1817         * cfgloop.h: Likewise.
1818         * cfgloopmanip.c: Likewise.
1819         * cfgrtl.c: Likewise.
1820         * diagnostic.h: Likewise.
1821         * dwarfout.c: Likewise.
1822         * emit-rtl.c: Likewise.
1823         * et-forest.c: Likewise.
1824         * et-forest.h: Likewise.
1825         * expr.c: Likewise.
1826         * gcse.c: Likewise.
1827         * genattr.c: Likewise.
1828         * jump.c: Likewise.
1829         * langhooks.h: Likewise.
1830         * local-alloc.c: Likewise.
1831         * loop-unroll.c: Likewise.
1832         * loop-unswitch.c: Likewise.
1833         * ra-build.c: Likewise.
1834         * regclass.c: Likewise.
1835         * regmove.c: Likewise.
1836         * rtl.def: Likewise.
1837         * rtlanal.c: Likewise.
1838         * sched-ebb.c: Likewise.
1839         * sched-rgn.c: Likewise.
1840         * simplify-rtx.c: Likewise.
1841         * ssa.c: Likewise.
1842         * tracer.c: Likewise.
1843         * tree.c: Likewise.
1844
1845 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
1846
1847         * cppcharset.c: Use the correct return type for the fallback iconv
1848         macro.
1849
1850 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1851
1852         Blame to Jan Hubicka  <jh@suse.cz>
1853         * cfglayout.c (record_effective_endpoints): Split insns before
1854         first basic block correctly.
1855
1856 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1857
1858         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
1859         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
1860         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1861
1862 2003-07-05  Andreas Jaeger  <aj@suse.de>
1863
1864         * genattrtab.c (write_attr_get): Revert part of last patch to
1865         always write out a prototype.
1866
1867         * genemit.c (gen_split): Readd lost unused attributes in last
1868         patch.
1869
1870 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1871
1872         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
1873         different from header.
1874
1875 2003-07-05  Andreas Schwab  <schwab@suse.de>
1876
1877         * config/m68k/m68k.c: Remove code protected by CRDS.
1878         * config/m68k/m68k.md: Likewise.
1879
1880 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
1881
1882         PR driver/11417
1883         * c-opts.c (permit_fortran_options): New.
1884         (c_common_init_options): Accept fortran front end options if
1885         it looks like we might be preprocessing Fortran.
1886         (c_common_handle_option): Don't reject switch if permit_fotran_options.
1887
1888 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1889
1890         * genattr.c (internal_dfa_insn_code): Output prototype.
1891         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
1892         * genautomata.c: Likewise.
1893         * genconditions.c: Likewise.
1894         * genemit.c: Likewise.
1895         * genextract.c: Likewise.
1896         * gengenrtl.c: Likewise.
1897         * gengtype.c: Likewise.
1898         * genopinit.c: Likewise.
1899         * genoutput.c: Likewise.
1900         * genpeep.c: Likewise.
1901         * genrecog.c: Likewise.
1902
1903 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
1904
1905         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
1906         (struct cpp_options): Add narrow_charset, wide_charset,
1907         bytes_big_endian fields.  Remove EBCDIC field.
1908         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
1909
1910         * cpphash.h: Include <iconv.h> if we have it, otherwise
1911         provide a dummy definition of iconv_t.
1912         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
1913         (_cpp_valid_ucn): Update prototype.
1914         (_cpp_destroy_iconv): New prototype.
1915
1916         * doc/cpp.texi: Document character set handling.
1917         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
1918         * doc/extend.texi: Delete entire section on multiline strings.
1919         Rewrite section on __FUNCTION__ etc now that these are
1920         variables in C.
1921
1922         * cppucnid.tab, cppucnid.pl: New files.
1923         * cppucnid.h: New generated file.
1924         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
1925         (iconv_open, iconv, iconv_close): Provide dummy definitions
1926         if !HAVE_ICONV.
1927         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
1928         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
1929         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
1930         cpp_interpret_string, narrow_str_to_charconst,
1931         wide_str_to_charconst): New.
1932         (ucn_valid_in_identifier): Use a binary search through the
1933         ucnranges table defined in cppucnid.h, not a long chain of if
1934         statements.
1935         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
1936         character names are only valid in C++ and C99" to a warning.
1937         Issue the "meaning of \[uU] is different in traditional C"
1938         warning here.  Take care not to let iconv see an invalid UCS
1939         value if we get a malformed UCN.  Issue an error if we don't
1940         have iconv.
1941         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
1942         cpp_interpret_string to do the heavy lifting.
1943
1944         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
1945         narrow_charset, wide_charset fields of options structure.
1946         (cpp_destroy): Call _cpp_destroy_iconv.
1947         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
1948         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
1949         (cpp_interpret_charconst): Moved to cppcharset.c.
1950         * cpplib.c (dequote_string): Delete.
1951         (interpret_string_notranslate): New.
1952         (do_line, do_linemarker): Use interpret_string_notranslate.
1953
1954         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
1955
1956         * c-common.c (fname_string, combine_strings): Delete.
1957         * c-common.h (fname_string, combine_strings): Delete prototypes.
1958         * c-lex.c (ignore_escape_flag): Delete.
1959         (cb_ident): Use cpp_interpret_string, not lex_string.
1960         (get_nonpadding_token): New function.
1961         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
1962         Adjust calls to lex_string.  Don't write *value twice.
1963         (lex_string): Now handles string constant concatenation.
1964         Most of the work handed off to cpp_interpret_string.
1965         Call fix_string_type here.
1966         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
1967         FUNC_NAME, throughout.
1968         (OBJC_STRING): New token type.
1969         (primary:STRING): No need to call fix_string_type here.
1970         (primary:objc_string): Make that OBJC_STRING.
1971         (objc_string nonterminal): Delete.
1972         (yylexname): Delete code to handle fake string constants.
1973         (yylexstring): Delete entirely.
1974         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
1975         to handle CPP_ATSIGN.
1976
1977         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
1978         * c-opts.c (missing_arg, c_common_handle_option): Handle
1979         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
1980         (c_common_init): Set cpp_opts->bytes_big_endian, not
1981         cpp_opts->EBCDIC.  Call cpp_init_iconv.
1982         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
1983         (TARGET_EBCDIC): Delete default definition.
1984
1985         * objc/objc-act.c (build_objc_string_object): No need to
1986         handle string constant concatenation.
1987
1988 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
1989
1990         * doc/install.texi: Fix typos.
1991         * doc/invoke.texi: Likewise.
1992         * doc/tm.texi: Likewise.
1993
1994 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
1995
1996         * config/pa/fptr.c: Fix comment typos.
1997         * config/pa/pa-64.h: Likewise.
1998         * config/pa/pa.c: Likewise.
1999         * config/pa/pa.h: Likewise.
2000         * config/rs6000/603.md: Likewise.
2001         * config/rs6000/7xx.md: Likewise.
2002         * config/rs6000/darwin.h: Likewise.
2003         * config/rs6000/freebsd.h: Likewise.
2004         * config/rs6000/rs6000.c: Likewise.
2005         * config/rs6000/rs6000.md: Likewise.
2006         * config/rs6000/spe.h: Likewise.
2007
2008 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
2009
2010         * config/s390/2064.md: Change GNU CC to GCC.
2011         * config/s390/2084.md: Likewise.
2012         * config/s390/fixdfdi.h: Likewise.
2013         * config/s390/linux.h: Likewise.
2014         * config/s390/s390-modes.def: Likewise.
2015         * config/s390/s390-protos.h: Likewise.
2016         * config/s390/s390.c: Likewise.
2017         * config/s390/s390.h: Likewise.
2018         * config/s390/s390.md: Likewise.
2019         * config/s390/s390x.h: Likewise.
2020
2021 2003-07-04  Jeff Law  <law@redhat.com>
2022
2023         PR c/11428
2024         * expr.c (do_store_flag): Pass in the correct result type
2025         when calling fold_single_bit_test.
2026         * fold-const.c (fold_single_bit_test): Use result_type for the
2027         result when folding a sign bit test.
2028
2029 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
2030
2031         * opts.c (common_handle_options): Negate sense of -falign- switches.
2032
2033 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
2034
2035         * Makefile.in: Replace PWD with PWD_COMMAND.
2036
2037 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2038
2039         * cfgloopanal.c (count_strange_loop_iterations): New static function.
2040         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
2041         Handle strange loops.
2042
2043 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
2044
2045         * install.texi: Even the g77 manpage is derived from
2046         the full g77 manual.
2047
2048 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
2049
2050         * ABOUT-NLS: Delete.
2051         * intl: Delete entire directory.
2052         * aclocal.m4: Include ../config/gettext.m4.  Delete
2053         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
2054         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
2055         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
2056         Remove intl/Makefile from all_outputs.
2057         * configure, config.in: Regenerate.
2058         * Makefile.in: Expunge all references to intl subdirectory.
2059         Add -I../intl to INCLUDES.
2060         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
2061
2062 2003-07-04  Roger Sayle  <roger@eyesopen.com>
2063
2064         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
2065         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
2066
2067 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
2068
2069         PR c++/5287, PR c++/7910, PR c++/11021
2070         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
2071         dllimport attribute if function is defined at declaration, but
2072         report error instead. Likewise for dllimport'd variable
2073         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
2074         declared within functions, Report error if dllimport or dllexport
2075         symbol is not global.
2076         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
2077         if defined after declaration or if inlined. Don't allow definition
2078         of static data members of C++ classes. Don't dllimport virtual
2079         methods.
2080         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
2081         (i386_pe_mark_dllimport): Remove unnecessary checks.
2082         (i386_pe_encode_section_info): Warn if the dllimport attribute
2083         and symbol prefix have been instantiated and then overridden.
2084
2085         * doc/extend.texi: Document dllimport and dllexport attributes.
2086
2087         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
2088
2089 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
2090
2091         * config/kaos.h (CPP_PREDEFINES): Delete.
2092         (TARGET_OS_CPP_BUILTINS): New.
2093
2094 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2095
2096         * c-aux-info.c: Include toplev.h after c-tree.h.
2097         * c-common.c: Likewise.
2098         (GCC_DIAG_STYLE): Undef.
2099         * c-semantics.c (GCC_DIAG_STYLE): Define.
2100         * c-tree.h (GCC_DIAG_STYLE): Likewise.
2101         * diagnostic.h (inform): Move prototype to toplev.h.
2102         * jump.c: Include diagnostic.h before toplev.h.
2103         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
2104         (warning, error, fatal_error, pedwarn, sorry, inform,
2105         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
2106
2107 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2108
2109         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
2110         at all if edge is not specified.
2111         (can_copy_bbs_p, copy_bbs): New.
2112         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
2113         * cfgloop.c (get_loop_body): Comment more precisely.
2114         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
2115         (scale_bbs_frequencies): Fix comment typo.
2116         (can_duplicate_loop_p): Use can_copy_bbs_p.
2117         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
2118
2119 2003-07-03  Devang Patel <dpatel@apple.com>
2120
2121         * c-opts.c (c_common_parse_file): Remove extra
2122         debug_hooks->start_source_file call.
2123
2124 2003-07-03  Roger Sayle  <roger@eyesopen.com>
2125
2126         * real.c (real_trunc, real_floor, real_ceil): New functions
2127         to implement trunc, floor and ceil respectively.
2128         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
2129         * builtins.c (integer_valued_real_p): New function to test if
2130         a floating point expression has an integer valued result.
2131         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
2132         foo(x) where foo is an integer rounding function.  Similarly,
2133         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
2134         (double)(int)x when both foo and bar are integer rounding
2135         functions and we don't need to honor errno.
2136         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
2137         New functions to fold trunc, floor and ceil.
2138         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
2139         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
2140         to fold BUILT_IN_CEIL*.
2141         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
2142         the remaining integer rounding functions.
2143
2144 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2145
2146         * config/sparc/sparc.c (function_arg_partial_nregs): Use
2147         SPARC_INT_ARG_MAX to determine where to split unnamed
2148         complex FP arguments.
2149
2150 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
2151
2152         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
2153         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
2154         (merge_blocks_move_predecessor_nojumps,
2155          merge_blocks_move_successor_nojumps): Use merge_blocks.
2156         (try_optimize_cfg): Use merge_blocks_move.
2157         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
2158         (merge_blocks_nomove): Rename to rtl_merge_blocks.
2159         (cfg_layout_create_basic_block): New.
2160         (rtl_can_merge_blocks): New.
2161         (cfg_layout_split_block): Do not alloc aux by hand.
2162         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
2163         merge_blocks.
2164         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
2165         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
2166         * cfgloopmanip.c (loop_split_edge_with): Likewise.
2167         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
2168
2169         * basic-block.h (basic_block_def): Add field 'rbi'.
2170         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
2171         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
2172         * cfg.c (entry_exit_blocks): Add new field.
2173         * cfglayout.c: Include alloc-pool.h;
2174         (cfg_layout_pool): New.
2175         (record_effective_endpoints, fixup_reorder_chain,
2176         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
2177         of rbi.
2178         (cfg_layout_initialize_rbi): New function.
2179         (cfg_layout_initialize): Use it.
2180         (cfg_layout_finalize): Clear rbi fields.
2181         * cfglayout.h (RBI): Kill.
2182         (cfg_layout_initialize_rbi): Declare.
2183         * cfgloopmanip.c (copy_bbs): Use rbi.
2184         (record_exit_edges): Likewise.
2185         (duplicate_loop_to_header_edge): Likewise.
2186         * cfgrtl.c (cfg_layout_create_basic_block): Use
2187         cfg_layout_initialize_rbi.
2188         (cfg_layout_split_block): Use rbi.
2189         (cfg_layout_delete_block): Likewise.
2190         * loop-init.c (loop_optimizer_finalize): Likewise.
2191         * loop-unswitch.c (unswitch_loop): Likewise.
2192         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
2193
2194         * cfgrtl.c: Update comments.
2195         (try_redirect_by_replacing_jump): New argument.
2196         (redirect_branch_edge): Break out from ...
2197         (rtl_redirect_edge_and_branch): ... this one.
2198         (update_cfg_after_block_merging): Break out from ...
2199         (rtl_merge_blocks): ... this one.
2200         (cfg_layout_split_edge): New.
2201         (cfg_layout_merge_blocks): New.
2202         (cfg_layout_can_merge_blocks_p): New.
2203         (cfg_layout_redirect_edge_and_branch): Reorganize.
2204         (cfg_layout_rtl_cfg_hooks): Fill in.
2205         (cfg_layout_delete_block): Kill barriers.
2206         * cfganal.c (can_fallthru): Deal with exit blocks
2207         * cfglayout.c (cfg_layout_function_header): New function
2208         (record_effective_endpoints): Record function header.
2209         (fixup_reorder_chain): Fixup dead jumptables; place header
2210
2211         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
2212         * bb-reorder.c (cfg_layout_initialize): Update call.
2213         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
2214         edges in cfglayout mode.
2215         * cfglayout.c (cleanup_unconditional_jumps): Kill.
2216         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
2217         * cfglayout.h (cfg_layout_initialize): Update prototype.
2218         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
2219         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
2220         * flow.c (propagate_block): Do not crash when basic block ends
2221         by first insn in the chain.
2222         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
2223         do loop discovery.
2224         * tracer.c (tracer): Update call of cfg_layout_initialize.
2225
2226 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2227
2228         * Makefile.in: Use dependency variables in lieu of explicit
2229         files throughout.
2230
2231 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
2232
2233         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
2234         * tree.h: ...to here.
2235
2236 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/s390/2064.md: Fix comment typos.
2239         * config/s390/2084.md: Likewise.
2240         * config/s390/s390.c: Likewise.
2241         * config/s390/s390.md: Likewise.
2242         * config/sh/sh.c: Likewise.
2243         * config/sh/sh.h: Likewise.
2244         * config/sh/sh.md: Likewise.
2245         * config/sparc/sparc.c: Likewise.
2246         * config/sparc/sparc.h: Likewise.
2247         * config/sparc/sparc.md: Likewise.
2248         * config/stormy16/stormy16.c: Likewise.
2249         * config/stormy16/stormy16.h: Likewise.
2250         * config/stormy16/stormy-abi: Fix a typo.
2251
2252 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
2253
2254         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
2255
2256 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2257
2258         * config/mips/mips.h (save_argv): Delete.
2259
2260 2003-07-03  Roger Sayle  <roger@eyesopen.com>
2261
2262         PR target/10700
2263         * fold-const.c (extract_muldiv_1): There's nothing that can be done
2264         if the expression is a SAVE_EXPR.
2265
2266 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
2267
2268         * config/m32r/m32r.c: Fix comment typos.
2269         * config/m68hc11/m68hc11.c: Likewise.
2270         * config/m68hc11/m68hc11.h: Likewise.
2271         * config/m68k/m68k.c: Likewise.
2272         * config/mcore/mcore.c: Likewise.
2273         * config/mcore/mcore.h: Likewise.
2274         * config/mcore/mcore.md: Likewise.
2275         * config/mips/mips.c: Likewise.
2276         * config/mips/mips.h: Likewise.
2277         * config/mips/mips.md: Likewise.
2278         * config/mips/netbsd.h: Likewise.
2279         * config/mn10300/mn10300.c: Likewise.
2280
2281 2003-07-03  Andreas Schwab  <schwab@suse.de>
2282
2283         * dbxout.c (pending_bincls): Move decl down inside
2284         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
2285
2286 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
2287
2288         * rtl.h (NOTE_DATA): Refer to whole union.
2289         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
2290
2291 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2292
2293         PR optimization/11381
2294         * simplify-rtx.c (simplify_relational_operation): Check that
2295         two equal operands have no side-effects before simplifying
2296         the comparison.
2297
2298 2003-07-02  Jeff Law  <law@redhat.com>
2299
2300         * expr.c (do_store_flag): Remove special case folding for
2301         single bit tests.  Instead call back into the commonized folder
2302         routine.
2303         * fold-const.c (fold_single_bit_test): New function, mostly
2304         extracted from do_store_flag, with an additional case extracted
2305         from fold.
2306         (fold): Call fold_single_bit_test appropriately.
2307         * tree.h (fold_single_bit_test): Prototype.
2308
2309 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
2310
2311         * system.h: Include filenames.h.
2312         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
2313         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
2314         define based on HAVE_DOS_BASED_FILE_SYSTEM.
2315         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
2316         * config/i386/xm-mingw32.h: Don't define
2317         HAVE_DOS_BASED_FILE_SYSTEM,
2318         DIR_SEPARATOR, or DIR_SEPARATOR_2.
2319         * doc/hostconfig.texi: Update to match.
2320
2321         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
2322         config/i386/cygwin.h:
2323         Use IS_ABSOLUTE_PATH throughout.
2324         * gcc.c (DIR_UP): Delete, unused.
2325         * protoize.c (IS_SAME_PATH): Define in terms of
2326         FILENAME_CMP.
2327         (is_abspath): Delete.
2328
2329 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
2330
2331         * config/i386/emmintrin.h: Fix comment typos.
2332         * config/i386/i386.c: Likewise.
2333         * config/i386/i386.h: Likewise.
2334         * config/i386/sco5.h: Likewise.
2335         * config/ia64/ia64.c: Likewise.
2336         * config/ia64/itanium2.md: Likewise.
2337
2338 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
2339
2340         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
2341         DBX_USE_BINCL.
2342         (emit_bincl_stab): Same.
2343         (emit_pending_bincls): Same.
2344
2345 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
2346
2347         * config/h8300/h8300.c (compute_mov_length): Fix the length of
2348         loading CONST0_RTX (SFmode).
2349         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
2350         'G' to CONST0_RTX (SFmode).
2351         * config/h8300/h8300.md (movsf_h8300): Change the first
2352         constraint to 'G'.
2353         (movsf_h8300h): Likewise.
2354
2355 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
2356
2357         * c-common.h (c_common_init_options): New prototype.
2358         * c-opts.c (deferred_size): Remove.
2359         (defer_opt): Array is now pre-allocated.
2360         (c_common_init_options): Pre-allocate deferred_opts.  Make
2361         lang_flags unsigned.
2362         (push_command_line_options): Free deferred_opts.
2363         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
2364         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
2365         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
2366         * langhooks.h (struct lang_hooks): New prototype for init_options.
2367         * main.c (main): Cast argv.
2368         * opts.c (handle_option, handle_options): Update prototypes.
2369         (decode_options): save_argc, save_argv are not global.  Constify.
2370         * opts.h (decode_options): New prototype.
2371         * toplev.c (general_init): New protoype.
2372         (save_argv): Make static.
2373         (save_argc): Remove.
2374         (print_switch_values, general_init): Constify.
2375         (toplev_main): Save argv.
2376         * toplev.h (toplev_main): Update prototype.
2377         (save_argc, save_argv): Remove.
2378
2379 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
2380
2381         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
2382         (emit_bincl_stab): Same.
2383         (emit_pending_bincls): Same.
2384
2385 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
2386
2387         PR c++/11072
2388         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
2389
2390 2003-07-02  Andreas Schwab  <schwab@suse.de>
2391
2392         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
2393
2394 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2395
2396         PR optimization/11210
2397         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
2398         about the behaviour with regard to bitfields.
2399         * fold-const (decode_field_reference): Record outermost type in
2400         case the expression is a NOP. Strip all NOPs. Set the signedness
2401         to that of the outermost type (if any) when the bitsize is equal
2402         to the size of the type.
2403
2404 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
2405
2406         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
2407         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
2408         (adddi3_internal_3, addsi3_internal_2): Likewise.
2409
2410 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
2411
2412         * config/mips/mips.c (machine_function): Add new fields:
2413         ignore_hazard_length_p and all_noreorder_p.
2414         (mips_flag_delayed_branch): New variable.
2415         (override_options): Treat '/' as an operand punctuation character.
2416         Set up mips_flag_delayed_branch.
2417         (print_operand): Handle '/'.
2418         (mips_output_function_prologue): Put the whole function in
2419         .set noreorder and .set nomacro if all_noreorder_p is true.
2420         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
2421         (mips16_optimize_gp): Remove "first insn" parameter.
2422         (mips16_lay_out_constants): New function, split out from mips_reorg.
2423         (mips_avoid_hazard, mips_avoid_hazards): New functions.
2424         (mips_reorg): For mips16 code, call mips16_lay_out_constant
2425         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
2426         do delayed-branch scheduling followed by hazard detection.
2427         (mips_adjust_insn_length): Only account for hazards if
2428         !ignore_hazard_length_p.
2429         (mips_output_load_label): Add a nop to the o32 sequence if
2430         the target suffers from load delays.
2431         (mips_output_conditional_branch): Add %/ to the end of branches.
2432         (mips_output_division): Fill the branch delay slot with %#.
2433         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
2434         instructions.  End all other %* branches with %/.
2435         (ffssi2, ffsdi2): Fix lengths.
2436         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
2437         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
2438         (fix_truncsfsi2_macro): Likewise.
2439         (mov_lwl): Set hazard to "none".
2440         (ashldi3_internal): Fill the branch delay slot with %#.
2441         (ashrdi3_internal, lshrdi3_internal): Likewise.
2442         (exception_receiver): Explicitly set $28.
2443         (hazard_nop): New pattern.
2444
2445 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
2446
2447         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
2448         before calling tree_inlinable_function_p.
2449
2450 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2451
2452         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
2453         <internal/stdio_core.h> too.
2454         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
2455         <internal/wchar_core.h> too.
2456         Substitute va_list uses in inline definition.
2457         * fixinc/fixincl.x: Regenerate.
2458
2459 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2460
2461         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
2462         Undef before redefinition.
2463         (LABEL_AFTER_LOC): Likewise.
2464         (DEFAULT_SIGNED_CHAR): Likewise.
2465         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
2466         Fix IRIX spelling.
2467
2468         * config/mips/iris3.h: Remove, unused.
2469         * config/mips/iris4.h: Likewise.
2470
2471         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
2472
2473         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
2474         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
2475         target_cpu_default.
2476
2477         * config/mips/iris5.h: Move explicit includes ...
2478         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
2479
2480         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
2481         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
2482         tm_defines.
2483
2484         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
2485         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
2486         target_cpu_default.
2487
2488         * config/mips/iris6.h: Fix IRIX spelling.
2489         (MULTILIB_DEFAULTS): Undef before redefinition.
2490
2491         * config/mips/iris6.h: Move explicit includes ...
2492         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
2493
2494 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
2495
2496         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
2497         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
2498         Use next_needed field instead of aux to maintain the queue.
2499         * cgraph.h (cgraph_node): Add next_needed.
2500         (cgraph_varpool_node): Add next_needed; remove aux.
2501         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
2502
2503 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
2504
2505         * cgraphunit.c (cgraph_finalize_function): Set finalized.
2506         (cgraph_finalize_function): Do not examine inlinablility.
2507         (cgraph_finalize_compilation_unit): Do it here.
2508         * cgraph.h (cgraph_local_info): Add finalized field.
2509
2510 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2511
2512         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
2513         (gt_pch_restore): Likewise.
2514
2515 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
2516
2517         * config/alpha/alpha.c: Fix comment typos.
2518         * config/alpha/elf.h: Likewise.
2519         * config/arm/arm.c: Likewise.
2520         * config/arm/arm.h: Likewise.
2521         * config/arm/arm.md: Likewise.
2522         * config/arm/t-arm-coff: Likewise.
2523         * config/arm/t-strongarm-pe: Likewise.
2524         * config/arm/xscale-elf.h: Likewise.
2525         * config/avr/avr.h: Likewise.
2526
2527 2003-07-01  Jeff Law  <law@redhat.com>
2528
2529         * stmt.c (any_pending_cleanups): Remove another redundant test.
2530
2531 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
2532             J"orn Rennecke <joern.rennecke@superh.com>
2533
2534         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
2535         for MEM case.
2536
2537 2003-07-01  Devang Patel  <dpatel@apple.com>
2538
2539         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
2540         (binclstatus): New.
2541         (struct dbx_file): New members - bincl_status, pending_bincl_name and
2542         prev.
2543         (pending_bincls): New.
2544         (dbxout_init): Initialize new dbx_file members.
2545         (dbxout_start_source_file): Same.
2546         (emit_bincl_stab): New function.
2547         (emit_pending_bincls): Same.
2548         (emit_pending_bincls_if_required): Same.
2549         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
2550         processed.
2551         (dbxout_begin_block): Emit pending BINCL stabs.
2552         (dbxout_end_block): Same.
2553         (dbxout_function_decl): Same.
2554         (dbxout_continue): Same.
2555         (dbxout_type): Same.
2556         (dbxout_class_name_qualifiers): Same.
2557         (dbxout_symbol): Same.
2558         (dbxout_symbol_location): Same.
2559         (dbxout_parms): Same.
2560
2561 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2562
2563         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
2564         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
2565
2566 2003-07-01  Andreas Jaeger  <aj@suse.de>
2567
2568         * fold-const.c: Convert prototypes to ISO C90.
2569         * function.c: Likewise.
2570         * function.h: Likewise.
2571
2572 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
2573
2574         * doc/contrib.texi: Fix typos.
2575         * doc/invoke.texi: Likewise.
2576         * doc/passes.texi: Likewise.
2577         * doc/sourcebuild.texi: Likewise.
2578         * doc/tm.texi: Likewise.
2579
2580 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
2581
2582         * basic-block.h: Fix comment typos.
2583         * bb-reorder.c: Likewise.
2584         * c-format.c: Likewise.
2585         * cfgcleanup.c: Likewise.
2586         * cfghooks.h: Likewise.
2587         * cfgloop.c: Likewise.
2588         * cfgloopmanip.c: Likewise.
2589         * cfgrtl.c: Likewise.
2590         * cgraph.h: Likewise.
2591         * cgraphunit.c: Likewise.
2592         * combine.c: Likewise.
2593         * convert.c: Likewise.
2594         * dbxout.c: Likewise.
2595         * df.c: Likewise.
2596         * df.h: Likewise.
2597         * diagnostic.c: Likewise.
2598         * dwarf2out.c: Likewise.
2599         * et-forest.h: Likewise.
2600         * flow.c: Likewise.
2601         * fold-const.c: Likewise.
2602         * function.h: Likewise.
2603         * gcov-io.h: Likewise.
2604         * gcov.c: Likewise.
2605         * gcse.c: Likewise.
2606         * genautomata.c: Likewise.
2607         * ggc-common.c: Likewise.
2608         * ggc-page.c: Likewise.
2609         * loop-unroll.c: Likewise.
2610         * loop-unswitch.c: Likewise.
2611         * loop.c: Likewise.
2612         * mips-tfile.c: Likewise.
2613         * optabs.c: Likewise.
2614         * ra-build.c: Likewise.
2615         * ra-colorize.c: Likewise.
2616         * ra-rewrite.c: Likewise.
2617         * ra.h: Likewise.
2618         * regmove.c: Likewise.
2619         * reload.c: Likewise.
2620         * rtlanal.c: Likewise.
2621         * sched-ebb.c: Likewise.
2622         * sched-int.h: Likewise.
2623         * sched-vis.c: Likewise.
2624         * sreal.c: Likewise.
2625         * ssa-ccp.c: Likewise.
2626         * ssa.c: Likewise.
2627         * toplev.c: Likewise.
2628         * tree-inline.c: Likewise.
2629         * value-prof.c: Likewise.
2630         * value-prof.h: Likewise.
2631
2632 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
2633
2634         * rtl.h (emit_line_note_after): Remove.
2635         (emit_note_copy_after, emit_note_copy): New.
2636         * emit-rtl.c (reorder_insns_with_line_notes): Replace
2637         emit_line_note_after with emit_note_copy_after.
2638         (emit_insn_after_with_line_notes): Likewise.
2639         (emit_line_note_after): Kill.
2640         (emit_note_copy_after): New.
2641         (emit_note_copy): New.
2642         * function.c (emit_return_into_block): Use emit_note_copy_after.
2643         (thread_prologue_and_epilogue_insns): Likewise.
2644         * integrate.c (expand_inline_function): Use emit_note_copy.
2645         (copy_insn_list): Likewise.
2646         * unroll.c (copy_loop_body): Likewise.
2647         * cfglayout.c (duplicate_insn_chain): Likewise.
2648
2649 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
2650
2651         * c-tree.h (define_label): Replace filename and lineno arguments
2652         with a location_t.
2653         * c-decl.c (poplevel): Adjust define_label call.
2654         (pop_label_level): Likewise.
2655         (define_label): Replace filename and lineno arguments with a
2656         location_t.
2657         (store_parm_decls): Use DECL_SOURCE_LOCATION.
2658         * c-parse.in (label): Adjust define_label call.
2659
2660 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
2661
2662         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
2663         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
2664         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
2665         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
2666         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
2667
2668 2003-07-01  Andreas Jaeger  <aj@suse.de>
2669
2670         * final.c: Convert prototypes to ISO C90.
2671         * flow.c: Likewise.
2672         * flags.h: Likewise.
2673         * gcov-io.c: Likewise.
2674         * gcov-io.h: Likewise.
2675
2676 See ChangeLog.9 for earlier changes.