OSDN Git Service

Add a missing ChangeLog entry.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.10
1 2003-12-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * print-rtl.c (print_rtx): For hard register, write out register
4         number and register name instead of calling PRINT_REG.
5         * defaults.h (PRINT_REG): Deleted.
6         * config/i386/i386.c (print_reg): Remove handling of CODE of -1.
7         Move comments here from i386.h.
8         (print_operand, print_operand_address): Call print_reg directly.
9         * config/i386/i386.h (PRINT_REG): Deleted.
10
11 2003-12-31  Roger Sayle  <roger@eyesopen.com>
12
13         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define
14         _INCLUDE_LONGLONG.
15
16 2003-12-31  Zack Weinberg  <zack@codesourcery.com>
17
18         * gcc.c (init_spec): Add -lunwind to shared case too if
19         USE_LIBUNWIND_EXCEPTIONS.
20
21 2003-12-31  Joseph S. Myers  <jsm@polyomino.org.uk>
22
23         * doc/include/texinfo.tex: Update to version 2003-12-21.10.
24         * doc/gcc.texi, doc/gccint.texi: Don't set font for
25         @def... commands.
26         * doc/invoke.texi: Don't use empty @opindex.
27
28 2003-12-31  Mark Mitchell  <mark@codesourcery.com>
29
30         * c-common.c (c_expand_expr): Remove code to return a value
31         different from that returned by expand_expr.
32         * expr.c (store_expr): Use the validity of a target MEM, rather
33         than checking DECL_RTL (exp), to figure out if a copy is
34         required.
35
36 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
37
38         * config/v850/lib1funcs.asm: Fix comment formatting.
39         * config/v850/v850.c: Likewise.
40         * config/v850/v850.h: Likewise.
41         * config/v850/v850.md: Likewise.
42
43 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
44
45         * config/i386/i386.md (*movqi_insv_2): Remove AND in the
46         set source.
47
48 2003-12-31  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
49
50         * config.gcc: Added m32r-linux m32rle-elf and m32le-linux targets.
51         * doc/invoke.texi: Document -mflush-func, -mflush-trap options.
52         Also add documentation for -mdebug, -malign-loops, -missue-rate,
53         and -mbranch-cost options.
54         * config/m32r/t-linux: New file: m32r-linux support.
55         * config/m32r/xm-linux.h: Likewise.
56         * config/m32r/xm-m32r.h: Likewise.
57         * config/m32r/linux.h: Likewise.
58         * config/m32r/little.h: New file: Little endian code generation
59         support.
60         * config/m32r/m32r-protos.h (m32r_legitimize_pic_address,
61         m32r_legitimate_pic_operand_p, load_pic_register): Add
62         prototypes.
63         * config/m32r/m32r.c (m32r_init): Add options for cache-flush.
64         (addr24_operand): Changes for PIC code generation.
65         * config/m32r/m32r.h (LABEL_ALIGN): Define to calculate PNOP
66         length at labels.
67         (ASM_SPEC): Add PIC support.
68         (FUNCTION_PROFILER): New define.
69         (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed to support
70         trampoline.
71         (CONDITIONAL_REGISTER_USAGE, CONSTANT_ADDRESS_P,
72          LEGITIMIZE_ADDRESS, JUMP_TABLES_IN_TEXT_SECTION,
73          PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC, LEGITIMATE_PIC_OPERAND_P,
74          ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE): Define for PIC.
75         (move_src_operand, m32r_compute_frame_size, m32r_expand_prologue,
76          m32r_finalize_pic): Changes for PIC and profile support.
77         (global_offset_table, load_pic_register, m32r_legitimate_pic_operand_p,
78          m32r_legitimize_pic_address): Add for PIC support.
79         (m32r_file_start): Changed for little-endian-target.
80         * config/m32r/m32r.md (mvqi, movhi, movsi, movdi, movsf, movdf,
81         tablejump, tablejump_insn, call, call_value, call_value_via_label):
82         Changes for PIC.
83         (pic_load_addr, get_pc, builtin_setjmp_receiver): Added for PIC.
84         (flush_icache): Changes for cache-flush trap.
85
86 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
87
88         * config/i386/i386.h: Remove an unnecessary #undef.
89
90 2003-12-30  Roger Sayle  <roger@eyesopen.com>
91
92         * cppfiles.c (pch_open_file): Minor tweak to work-around native
93         HPPA compiler bug.
94
95 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
96
97         * config/rs6000/aix.h: Fix comment formatting.
98         * config/rs6000/rs6000-modes.def: Likewise.
99         * config/rs6000/rs6000.c: Likewise.
100         * config/rs6000/rs6000.h: Likewise.
101         * config/rs6000/rs6000.md: Likewise.
102
103 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
104
105         * config/i386/i386-protos.h: Remove prototype for
106         const_int_1_operand.
107         * config/i386/i386.c (const_int_1_operand): Remove.
108         * config/i386/i386.h (PREDICATE_CODES): Remove
109         const_int_1_operand.
110         * config/i386/i386.md: Replace all uses of const_int_1_operand
111         with const1_operand.
112         * config/i386/pentium.md: Likewise.
113
114 2003-12-30  Geoffrey Keating  <geoffk@greed.local>
115
116         * doc/tm.texi (PREFERRED_RELOAD_CLASS): Describe use of NO_REGS
117         with constants.
118
119 2003-12-30  Mark Mitchell  <mark@codesourcery.com>
120
121         * stor-layout.c (layout_decl): Turn bitfields into ordinary
122         fields, even if they are the first field in a structure.
123
124 2003-12-30  Roger Sayle  <roger@eyesopen.com>
125
126         * fold-const.c (fold) <COND_EXPR>: Don't require strict type
127         equality, instead just prevent replacing a COND_EXPR of non-void
128         type by one of its operands of void type.
129
130 2003-12-30  Andreas Schwab  <schwab@suse.de>
131
132         * doc/c-tree.texi: Fix @item vs. @itemx.
133         * doc/cpp.texi: Likewise.
134         * doc/install.texi: Likewise.
135         * doc/invoke.texi: Likewise.
136
137 2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
138
139         * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
140         change.
141
142 2003-12-30  Jan Hubicka  <jh@suse.cz>
143
144         PR target/11936
145         * i386.h (CLASS_LIKELY_SPILLED_P): Return true for
146         FP_TOP_REG/FP_SECOND_REG.
147
148 2003-12-30  Steven Bosscher  <steven@gcc.gnu.org>
149
150         Backport from tree-ssa (relevant changes only):
151         2003-12-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
152
153         * et-forest.h (et_forest_create, et_forest_delete,
154         et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
155         et_forest_remove_edge, et_forest_parent,
156         et_forest_common_ancestor, et_forest_node_value,
157         et_forest_enumerate_sons): Declarations removed.
158         (struct et_node): New.
159         (et_new_tree, et_free_tree, et_set_father, et_split, et_nca,
160         et_below): Declare.
161         * et-forest.c (struct et_forest_occurrence, struct et_forest,
162         struct et_forest_node): Removed.
163         (et_forest_create, et_forest_delete,
164         et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
165         et_forest_remove_edge, et_forest_parent,
166         et_forest_common_ancestor, et_forest_node_value,
167         et_forest_enumerate_sons, splay, remove_all_occurrences,
168         find_leftmost_node, find_rightmost_node, calculate_value): Removed.
169         (struct et_occ): New.
170         (et_nodes, et_occurences): New.
171         (set_depth, set_depth_add, set_prev, set_next, et_recomp_min,
172         et_check_occ_sanity, et_check_sanity, et_check_tree_sanity,
173         record_path_before_1, record_path_before, check_path_after_1,
174         check_path_after, et_splay, et_new_occ, et_new_tree,
175         et_free_tree, et_set_father, et_split, et_nca, et_below): New.
176         * basic-block.h (struct basic_block_def): New field dom.
177         (struct dominance_info): Type removed.
178         (calculate_dominance_info, free_dominance_info,
179         nearest_common_dominator, set_immediate_dominator,
180         get_immediate_dominator, dominated_by_p, get_dominated_by,
181         add_to_dominance_info, delete_from_dominance_info,
182         recount_dominator, redirect_immediate_dominators,
183         iterate_fix_dominators, verify_dominators): Declarations
184         changed.
185         (enum dom_state): New.
186         (dom_computed): New variable.
187         (first_dom_son, next_dom_son): Declare.
188         * dominance.c (struct dominance_info): Removed.
189         (BB_NODE, SET_BB_NODE): Removed.
190         (calculate_dominance_info, free_dominance_info,
191         nearest_common_dominator, set_immediate_dominator,
192         get_immediate_dominator, dominated_by_p, get_dominated_by,
193         add_to_dominance_info, delete_from_dominance_info,
194         recount_dominator, redirect_immediate_dominators,
195         iterate_fix_dominators, verify_dominators,
196         debug_dominance_info): Work over new datastructure.  Access
197         dominance datastructures through CFG.
198         (assign_dfs_numbers, compute_dom_fast_query, first_dom_son,
199         next_dom_son): New.
200         * bt-load.c (dom): Variable removed.
201         (augment_live_range, combine_btr_defs, migrate_btr_def,
202         migrate_btr_defs, branch_target_load_optimize): Updated for the
203         new interface for dominance information.
204         * cfg.c {exit_entry_blocks): Update initializer.
205         * cfglayout.c (copy_bbs): Removed loops argument. Updated for
206         the new interface for dominance information.
207         * cfglayout.h (copy_bbs): Declaration changed.
208         * cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump,
209         flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated
210         for the new interface for dominance information.
211         (flow_loop_scan): Loops argument removed.
212         (flow_loops_free): Don't release dominators.
213         * cfgloop.h (struct cfg): Dom field removed.
214         (flow_loop_scan, loop_split_edge_with, simple_loop_p,
215         just_once_each_iteration_p, split_loop_bb): Declaration changed.
216         * cfgloopanal.c (simple_loop_exit_p, simple_increment,
217         just_once_each_iteration_p, simple_loop_p): Remove loops argument.
218         Updated for the new interface for dominance information.
219         * cfgloopmanip.c (remove_bbs, find_path, create_preheader,
220         split_loop_bb, loopify, duplicate_loop_to_header_edge,
221         force_single_succ_latches, loop_split_edge_with): Ditto.
222         * function.c (allocate_struct_function): Don't set
223         current_function_name.
224         * function.h (function): Remove name.
225         (current_function_name): Remove.
226         * gcse.c (dominators): Variable removed.
227         (free_code_hoist_mem, compute_code_hoist_data, hoist_code):
228         Updated for the new interface for dominance information.
229         * ifcvt.c (post_dominators): Variable removed.
230         (mark_loop_exit_edges, merge_if_block, find_if_header,
231         find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
232         Updated for the new interface for dominance information.
233         * loop-init.c (rtl_loop_optimizer_init,
234         rtl_loop_optimizer_finalize): Ditto.
235         * loop-unroll.c (decide_peel_simple, decide_peel_once_rolling,
236         decide_peel_completely, decide_unroll_stupid,
237         decide_unroll_constant_iterations,
238         decide_unroll_runtime_iterations): Loops argument removed.
239         Updated for the new interface for dominance information.
240         (unroll_and_peel_loops, peel_loops_completely,
241         unroll_loop_runtime_iterations): Updated for the new interface for
242         dominance information.
243         * loop-unswitch.c (may_unswitch_on_p, unswitch_loops,
244         unswitch_single_loop, unswitch_loop): Updated for the new
245         interface for dominance information.
246         * predict.c (process_note_predictions, process_note_prediction,
247         estimate_probability, note_prediction_to_br_prob): Ditto.
248         * sched-rgn.c (find_rgns, init_regions): Ditto.
249         * toplev.c (rest_of_handle_branch_prob): Free the dominators.
250
251 2003-12-30  Jan Hubicka  <jh@suse.cz>
252
253         PR target/13456
254         * i386.md (allocate_stack_worker):  Use different pattern for pre and
255         post reload expansion.
256         (allocate_stack_worker_1, allocate_stack_worker_rex64): Use
257         match_scratch.
258         (allocate_stack_worder_1_postreload,
259         allocate_stack_worker_rex64_postreload): New.
260
261 2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
262
263         * builtins.c (expand_builtin_apply_args_1): Add pretend args size
264         to the virtual incoming args pointer for downward stacks.
265
266 2003-12-29  Roger Sayle  <roger@eyesopen.com>
267
268         PR fortran/12632
269         * fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
270         if the type of the selected branch doesn't match its' parent.
271
272 2003-12-29  Jan Hubicka  <jh@suse.cz>
273
274         * coverage.c (read_counts_file): Better error messages; cause corrupted
275         profiles to produce hard errors, not just warnings
276         (get_coverage_counts): Similarly.
277
278         * toplev.c (rest_of_handle_loop_optimize): Enable LOOP_AUTO_UNROLL.
279
280 2003-12-29  Phil Edwards  <phil@codesourcery.com>
281
282         * doc/cppopts.texi:  Use of -idirafter, -iprefix, -iwithprefix, and
283         -iwithprefixbefore is not discouraged.
284
285 2003-12-28  Mostafa Hagog  <mustafa@il.ibm.com>
286
287         * sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
288         sbitmap_a_xor_b_cg): Accumulate "changed" properly.
289         (sbitmap_not): Zero all bits past n_bit.
290
291 2003-12-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
292
293         PR opt/13159
294         * cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
295         components detection.
296         * loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
297
298 2003-12-27  Bernardo Innocenti  <bernie@develer.com>
299
300         * config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
301         correct linking of executables using id-based shared libraries.
302
303 2003-12-27  Kazu Hirata  <kazu@cs.umass.edu>
304
305         * config/i386/i386-interix.h: Remove uses of "register"
306         specifier in declarations of arguments and local variables.
307         * config/i386/i386.c: Likewise.
308         * config/i386/i386elf.h: Likewise.
309         * config/i386/ptx4-i.h: Likewise.
310         * config/i386/sysv4.h: Likewise.
311
312 2003-12-26  Fariborz Jahanian <fjahanian@apple.com>
313             Geoffrey Keating <geoffk@apple.com>
314             David Edelsohn <edelsohn@gnu.org>
315
316         * config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
317         restrict DFmode and TFmode to word alignment.
318         * config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
319         for ld/std and order before mr.
320
321 2003-12-26  Andrew Pinski  <pinskia@physics.uc.edu>
322
323         * config/darwin.h (LINK_COMMAND_SPEC): Arrange
324         -fprofile-generate to imply -lgcov.
325
326 2003-12-26  Kazu Hirata  <kazu@cs.umass.edu>
327
328         * config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
329         addresses.
330
331 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
332
333         * config/m32r/m32r.md: Remove a constraint from a splitter.
334
335 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
336
337         PR C++/13429, C/11944
338         * c-common.c (c_build_qualified_type): Return early when type is
339         error_mark_node.
340         (c_apply_type_quals_to_decl): Likewise.
341
342 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
343
344         * config/alpha/alpha-modes.def: Fix comment formatting.
345         * config/alpha/alpha.c: Likewise.
346         * config/alpha/alpha.h: Likewise.
347         * config/alpha/elf.h: Likewise.
348         * config/alpha/lib1funcs.asm: Likewise.
349         * config/alpha/openbsd.h: Likewise.
350         * config/alpha/vms-cc.c: Likewise.
351         * config/alpha/vms-crt0-64.c: Likewise.
352         * config/alpha/vms-crt0.c: Likewise.
353         * config/alpha/vms-ld.c: Likewise.
354         * config/alpha/vms-psxcrt0-64.c: Likewise.
355         * config/alpha/vms-psxcrt0.c: Likewise.
356         * config/alpha/vms.h: Likewise.
357         * config/arc/arc.c: Likewise.
358         * config/arm/aof.h: Likewise.
359         * config/arm/arm-modes.def: Likewise.
360         * config/arm/arm.c: Likewise.
361         * config/arm/arm.h: Likewise.
362         * config/arm/arm.md: Likewise.
363         * config/arm/linux-elf.h: Likewise.
364         * config/arm/vxworks.h: Likewise.
365         * config/avr/avr.c: Likewise.
366         * config/avr/avr.h: Likewise.
367
368 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
369
370         * config/xtensa/elf.h: Fix comment formatting.
371         * config/xtensa/xtensa-protos.h: Likewise.
372         * config/xtensa/xtensa.c: Likewise.
373         * config/xtensa/xtensa.h: Likewise.
374
375 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
376
377         * config/avr/avr.c: Fix comment formatting.
378         * config/avr/avr.md: Likewise.
379
380 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
381
382         PR target/12721.
383         * config/avr/avr.c: Include ggc.h.
384         (tmp_reg_rtx): Declare with GTY.
385         (zero_reg_rtx): Likewise.
386         (ldi_reg_rtx): Remove.
387         (avr_override_options): Initialize zero_reg_rtx and
388         ldi_reg_rtx.
389         (avr_init): Remove.
390         Include gt-avr.h.
391         * config/avr/avr.h (LDI_REG_REGNO): Remove.
392         Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
393
394 2003-12-24  David Edelsohn  <edelsohn@gnu.org>
395
396         * doc/md.texi: Document PowerPC vector register constraint letter.
397
398 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
399
400         * calls.c (expand_call): Recognize calls to "sqrt" and create
401         corresponding notes.
402
403 2003-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
404
405         * config/mips/mips.c (override_options): Use `inform' instead
406         of `warning' for -g -mabi=32 and native assembler.
407
408         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
409         Don't pass -Wno-error.
410
411 2003-12-23  David Edelsohn  <edelsohn@gnu.org>
412
413         * function.c (assign_parms): Update max_parm_reg and
414         parm_reg_stack_loc when adding new parm reg.
415
416 2003-12-23  Kazu Hirata  <kazu@cs.umass.edu>
417
418         * config/ns32k/ns32k.c: Convert to ISO-C.
419
420 2003-12-23  Zack Weinberg  <zack@codesourcery.com>
421
422         * config/ia64/ia64.c (ia64_va_arg): Pass pointer for
423         variable-sized type through convert_memory_address.
424         (ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
425
426 2003-12-23  Jan Hubicka  <jh@suse.cz>
427
428         * common.opt (fprofile-generate,fprofile-use): Add.
429         * gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
430         * opts.c (profile_arc_flag_set, flag_profile_values_set,
431         flag_unroll_loops_set, flag_tracer_set,
432         flag_value_profile_transformations_set,
433         flag_peel_loops_set): New static variables.
434         (common_handle_option): Deal with -fprofile-generate/-fprofile-use
435         * invoke.texi (-fprofile-generate, -fprofile-use): Describe.
436
437 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
438
439         * Makefile.in (OBJS-common): Remove dwarfout.o.
440         (dwarfout.o): Remove.
441         * common.opt: Remove -gdwarf, -gdwarf+.
442         * defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
443         DWARF_DEBUGGING_INFO.
444         * dwarf2out.c: Fix typo in comment.
445         * dwarfout.c: Remove.
446         * opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
447         * toplev.c (process_options): Remove check for
448         DWARF_DEBUGGING_INFO.
449         * config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
450         #undef it.
451         * config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
452         * config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
453         * config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
454         * config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
455         * config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
456         * config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
457         * config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
458         * config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
459         * config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
460         * config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
461         * config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
462         * config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
463         * config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
464         * doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
465         or -gdwarf+.
466         * doc/tm.texi: Likewise.
467
468         * c-common.c (flag_abi_version): Default to 2.
469         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
470         uniformly for versions above 2.
471         * doc/invoke.texi: Update documentation for -fabi-version.
472
473 2003-12-22  Geoffrey Keating  <geoffk@apple.com>
474
475         * config/rs6000/rs6000.md: Change many instances of '!
476         TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
477         was guarded only because it changed CR0 or the carry bit in XER.
478
479 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
480
481         PR optimization/13394
482         * toplev.c (rest_of_compilation): Move call to
483         check_function_return_warnings right after the sibcall
484         optimization pass.
485
486 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
487
488         PR c/13382
489         * c-typeck.c (convert_for_assignment): When converting from
490         integral type to pointer type, always call convert.
491
492 2003-12-22  Mark Mitchell  <mark@codesourcery.com>
493
494         * doc/invoke.texi: Deprecate -fwritable-strings.
495
496         * c-common.c (flag_external_templates): Remove.
497         (flag_alt_external_templates): Likewise.
498         * c-common.h (flag_external_templates): Remove.
499         (flag_alt_external_templates): Likewise.
500         * c-opts.c (c_common_handle_option): Unsupport
501         -falt-external-templates and -ftemplates.
502         * doc/invoke.texi: Remove mention of -fexternal-templates and
503         -falt-external-templates.
504
505 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
506
507         PR target/13466
508         * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
509
510         * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
511         copy_rtx_if_shared_1.
512         (copy_rtx_if_shared_1): Add comment about what the function does.
513
514         * c-decl.c (finish_function): Change order of checks.
515         (c_expand_body): Likewise.
516
517 2003-12-22  Fariborz Jahanian <fjahanian@apple.com>
518
519         * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
520         check for the legitimate offset when memory of
521         DImode/DFmode/TFmode/TImode mode is being referenced and target
522         is TARGET_POWERPC64.
523
524 2003-12-22  Dale Johannesen  <dalej@apple.com>
525
526         * reload1.c:  Add reg_reloaded_call_part_clobbered.
527         (reload_as_needed):  Use it.
528         (forget_old_reloads_1):  Ditto.
529         (emit_reload_insns):  Ditto.
530
531 2003-12-22  Dale Johannesen  <dalej@apple.com>
532
533         PR optimization/12828
534         * loop.c:  Add find_regs_nested to look inside CLOBBER(MEM).
535         (scan_loop):  Call it.
536         * regclass.c (reg_scan_mark_regs):  Look inside CLOBBER(MEM).
537
538 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
539
540         PR c/9163
541         * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
542         if it is non-null.
543         (finish_function): Check for error_mark_node or null on DECL_RESULT and
544         DECL_RESULT of fndecl.
545         (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
546         error_mark_node and not null.
547
548 2003-12-21  Dan Nicolaescu  <dann@ics.uci.edu>
549
550         * rtl.h (dump_rtx_statistics): Declare it.
551         * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
552         rtx_alloc_sizes): New static vars.
553         (rtx_alloc, rtvec_alloc): Update them.
554         (dump_rtx_statistics): New function.
555         * toplev.c (finalize): Call it.
556         * ggc-page.c (struct globals): Fix comments. Add new member
557         total_allocated_per_order.
558         (ggc_alloc): Keep track of the total allocated memory.
559         (ggc_print_statistics): Clarify message. Print total allocated
560         memory stats.
561         * configure.in (gather-detailed-mem-stats): New flag.
562         * configure: Regenerate.
563         * config.in: Regenerate.
564         * doc/install.texi (Configuration): Document
565         --enable-gather-detailed-mem-stats.
566
567 2003-12-22  Kazu Hirata  <kazu@cs.umass.edu>
568
569         * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
570         * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
571
572 2003-12-21  Roger Sayle  <roger@eyesopen.com>
573
574         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
575         when compiling in ILP32 mode.
576
577 2003-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
578
579         * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
580         TARGET_HAVE_TLS is false.
581
582 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
583
584         * config/ip2k/ip2k-protos.h: Remove the prototype for
585         asm_output_section_name.
586         * config/ip2k/ip2k.c (asm_output_section_name): Remove.
587
588 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
589
590         * alias.c: Fix comment formatting.
591         * alloc-pool.c: Likewise.
592         * bitmap.c: Likewise.
593         * bitmap.h: Likewise.
594         * bt-load.c: Likewise.
595         * c-common.c: Likewise.
596         * c-common.h: Likewise.
597         * c-decl.c: Likewise.
598         * c-opts.c: Likewise.
599         * c-pretty-print.c: Likewise.
600         * caller-save.c: Likewise.
601         * cfghooks.h: Likewise.
602         * cgraph.c: Likewise.
603         * collect2.c: Likewise.
604         * cppfiles.c: Likewise.
605         * cpplib.h: Likewise.
606         * dwarf2out.c: Likewise.
607         * dwarfout.c: Likewise.
608         * emit-rtl.c: Likewise.
609         * final.c: Likewise.
610         * function.c: Likewise.
611         * gcov.c: Likewise.
612         * gcse.c: Likewise.
613         * genemit.c: Likewise.
614         * ggc.h: Likewise.
615         * haifa-sched.c: Likewise.
616         * ifcvt.c: Likewise.
617         * libgcc2.h: Likewise.
618         * loop.c: Likewise.
619         * predict.h: Likewise.
620         * unwind-libunwind.c: Likewise.
621         * varasm.c: Likewise.
622
623 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
624
625         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
626         a warning.
627
628 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
629
630         * config/arm/arm.c: Convert to ISO-C.
631         * config/avr/avr.h: Likewise.
632         * config/fr30/fr30.c: Likewise.
633         * config/ip2k/ip2k.c: Likewise.
634         * config/mn10300/mn10300.c: Likewise.
635
636 2003-12-20  Andrew Pinski  <pinskia@gcc.gnu.org>
637             Matt Thomas  <matt@3am-software.com>
638
639         PR target/12749
640         * config/i386/i386.c (print_operand): Print only the first
641         8 characters of the float in hex.
642
643 2003-12-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
644
645         * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
646         2.0 code.
647         (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
648         (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
649         and end addresses to I and D cache instruction patterns.
650         * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
651         and_operand and ior_operand, respectively.  When generating 64-bit
652         code, only one operand needs to be a register operand.
653         (xordi3): Change predicates of operands 1 and 2 to register_operand.
654         (one_cmpldi2): Change predicate of operand 1 to register_operand.
655         (dcacheflush, icacheflush): Revise to flush an arbitrary number of
656         cache lines.
657
658 2003-12-20  Josef Zlomek  <zlomekj@suse.cz>
659
660         PR optimization/13430, PR optimization/12322
661         * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
662         be copied.
663         (find_traces_1_round): Surround check for fake edges by
664         #ifdef ENABLE_CHECKING #endif.
665
666 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
667
668         PR other/7956
669         * genmultilib: New variable disable_multilib.  Set it to 'yes'
670         if enable_multilib was set to 'no'.  Emit DISABLE_MULTILIB
671         if disable_multilib was set to 'yes'.
672         * gcc.c: Include multilib.h before tm.h.
673         * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
674         message for multiarch options if DISABLE_MULTILIB is set.
675         * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
676
677 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
678
679         PR c/12085
680         * c-typeck.c (build_function_call): Issue a warning if a
681         function is called through an incompatible prototype and
682         replace the call by a trap in this case.
683
684 2003-12-19  James E Wilson  <wilson@specifixinc.com>
685
686         * install.texi (ia64-*-linux): Document minimum libunwind version
687         number.
688
689 2003-12-19  Per Bothner  <per@bothner.com>
690
691         * langhooks.c (lhd_print_error_function):  Fix for PR c/13110.
692         Don't do pp_newline; it causes an extra blank line.
693         * pretty-print.c (pp_base_flush):  Clear pp_needs_newline.
694
695 2003-12-19  Jason Merrill  <jason@redhat.com>
696
697         * tree.c (get_unwidened): Decide whether to narrow a bitfield
698         reference based on TYPE_SIZE, not TYPE_PRECISION.
699
700         * stmt.c (parse_output_constraint): Warn about in-out constraint
701         that doesn't allow a register.
702         (parse_input_constraint): Warn about matching constraint that
703         doesn't allow a register.
704
705 2003-12-19  James E Wilson  <wilson@specifixinc.com>
706
707         * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
708         Add case for ASM_OPERANDS.
709         * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
710         registers.
711
712 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
713
714         * expr.c (check_max_integer_computation_mode): Remove.
715         * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
716         * fold-const.c (fold): Likewise.
717         * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
718         * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
719
720 2003-12-19  James E Wilson  <wilson@specifixinc.com>
721
722         * configure.in: Delete libunwind_has_eh_support test.
723         * configure: Regenerate.
724         * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
725         and libunwind_has_eh_support check.
726         * config/t-libunwind-no-eh: Delete.
727
728 2003-12-19  Joseph S. Myers  <jsm@polyomino.org.uk>
729
730         * c-format.c (print_char_table): Allow 'I' flag on floating point
731         decimal formats.
732
733 2003-12-19  Stuart Hastings  <stuart@apple.com>
734
735         * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
736         Trivial fixes for i386.c on Darwin/x86.
737
738 2003-12-19  Fariborz Jahanian <fjahanian@apple.com>
739
740         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
741         recognize macho-style lo_sum adrress patterns.
742
743 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
744
745         * dwarfout.c: Remove uses of "register" specifier in
746         declarations of arguments and local variables.
747         * gensupport.c: Likewise.
748         * local-alloc.c: Likewise.
749         * regclass.c: Likewise.
750
751 2003-12-19  Kelley Cook  <kelleycook@wideopenwest.com>
752
753         * config.guess: Remove.
754
755 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
756
757         * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
758         (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
759         regstk_top.
760         (uw_frame_state_for): Handle locations inside bundles.
761         (uw_init_context_1): Initialize context->rnat.
762         Set context->regstk_top to lowest rbs address which has nat collection
763         in context->rnat.
764         (uw_install_context): Fix rnat restoring.
765         Restore ar.rsc to previous state.
766         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
767         MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
768
769 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
770
771         PR c++/13239
772         * builtins.c (expand_builtin_expect_jump): Update
773         TREE_VALUE (arglist) if unsave_expr_now langhook
774         created a new tree.
775
776 2003-12-19  Richard Earnshaw  <rearnsha@arm.com>
777
778         * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
779         FIRST_PSEUDO_REGISTER.
780
781 2003-12-18  Hartmut Penner  <hpenner@de.ibm.com>
782
783         * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
784         for SVR4 ABI.
785
786 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
787
788         * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
789         (OS_MISSING_ALTIVEC): Define.
790         * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
791         -force_cpusubtype_ALL.
792         * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
793         CPU information table; now always set all CPU-specific values.
794         Also, use Altivec and powerpc64 when chip and OS supports them.
795
796 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
797
798         * fixinc/inclhack.def (darwin_macho_dyldh): New.
799         * fixinc/fixincl.x: Regenerate.
800
801 2003-12-18  Dara Hazeghi  <dhazeghi@yahoo.com>
802
803         * version.c (version_string): Renumber as 3.4.0
804         * doc/include/gcc-common.texi: Likewise
805
806 2003-12-18  Richard Henderson  <rth@redhat.com>
807
808         * genrecog.c (print_host_wide_int): New.
809         (write_switch, write_cond): Use it.
810
811 2003-12-18  Richard Henderson  <rth@redhat.com>
812
813         * c-decl.c (check_bitfield_type_and_width): Remove enum special
814         case suppression of pedwarn.
815         * system.h (ENUM_BITFIELD): Use __extension__.
816         (CHAR_BITFIELD): Likewise.
817
818 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
819             Mark Dettinger  <dettinge@de.ibm.com>
820
821         * config/s390/s390.md (UNSPEC_SRST): New constant.
822         ("strlendi", "strlensi"): New expanders.
823         ("*strlendi", "*strlensi"): New insns.
824
825 2003-12-18  Mark Mitchell  <mark@codesourcery.com>
826
827         * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
828         (LINK_ARCH32_SPEC_BASE): ... this new macro.
829         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
830         ...
831         (LINK_ARCH64_SPEC_BASE): ... this new macro.
832         * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
833         (LINK_ARCH64_SPEC): Likewise.
834
835 2003-12-18  Jason Merrill  <jason@redhat.com>
836
837         PR middle-end/13234
838         * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
839         classes.
840
841 2003-12-18  Steven Bosscher  <stevenb@suse.de>
842
843         * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
844         * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
845         Don't push and pop TV_REORDER_BLOCKS timevars, do it...
846         * bb-reorder.c (reorder_basic_blocks): ...here, and...
847         * tracer.c (tracer): here.
848
849 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
850
851         * loop.c (move_movables): Handle combination of m->consec,
852         m->move_insn_first, and m->insert_temp all nonzero correctly.
853
854 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
855
856         * calls.c (load_register_parameters): Don't use
857         LOAD_ARGS_REVERSED.
858         * system.h (LOAD_ARGS_REVERSED): Poison.
859         * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
860
861 2003-12-17  Per Bothner  <per@bothner.com>
862
863         * emit-rtl.c (set_new_first_and_last_label_num):  Remove function.
864         * rtl.h (set_new_first_and_last_label_num):  Remove declaration.
865
866 2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
867
868         * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
869         scratch insns of the then branch that clobber regs needed by the
870         else branch.
871
872 2003-12-17  Kazu Hirata  <kazu@cs.umass.edu>
873
874         * calls.c (expand_call): Update comments.
875         * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
876         * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
877
878 2003-12-17  James E Wilson  <wilson@specifixinc.com>
879             Roger Sayle  <roger@eyesopen.com>
880
881         * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
882         * gcse.c: Include tree.h.
883         (implicit_set_cond_p): New.
884         (find_implicit_sets): Call it.
885
886 2003-12-17  Santiago Vila  <sanvila@unex.es>
887
888         * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
889         TARET_OS_CPP_BUILTINS.
890
891 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
892
893         * emit-rtl.c: Fix signed/unsigned comparison warnings.
894
895 2003-12-17  Joseph S. Myers  <jsm@polyomino.org.uk>
896
897         * predict.c (struct block_info_def, struct edge_info_def): Change
898         bit-fields of width 1 to unsigned int.
899
900 2003-12-16  Geoffrey Keating  <geoffk@apple.com>
901
902         PR 12480
903         * c-pch.c (pch_init): Improve error message when precompiled
904         header can't be written.
905
906         PR 12606
907         * c-pch.c (pch_init): Make a PCH file appear invalid while it's
908         being written.
909         (c_common_write_pch): Make it valid once it's done.
910
911 2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
912
913         PR target/11992
914         * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
915         instead of CLCL.
916         ("*cmpmem_long_31"): Likewise.
917
918 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
919
920         * config/ia64/ia64.c: Add more comments about insn bundling.
921
922 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
923
924         PR optimization/10592
925         * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
926         or subreg in SET_DEST if it isn't a hard register.
927
928 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
929
930         * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
931         -fno-branch-probabilities to arguments when compiling ctors and
932         dtors.
933
934 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
935
936         * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
937         * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
938
939 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
940
941         * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
942         as base registers for sub-word operations.
943         (thumb_legitimate_address_p): Simplify REG+REG test.
944
945 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
946
947         * opts.c (wrap_help): Fix overflow.
948
949 2003-12-17  Fred Fish  <fnf@redhat.com>
950
951         * configure.in: Remove code to examine linker scripts and set
952         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
953         * configure, config.in: Regenerate.
954
955 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
956
957         PR c++/12218
958         * varasm.c (initializer_constant_valid_p): Allow a conversion from
959         an integral constant to an OFFSET_TYPE.
960
961 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
962
963         PR target/11012
964         * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
965         gen_cmp_ne_small_const_insn.
966         * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
967
968 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
969             Joseph S. Myers  <jsm@polyomino.org.uk>
970
971         PR c/3347
972         * c-decl.c (enum_decl_context): Remove BITFIELD.
973         (grokdeclarator): Take bit-field width as an input.
974         Perform bit-field width validation with
975         check_bitfield_type_and_width rather than waiting for
976         finish_struct.
977         (groktypename, groktypename_in_parm_context, start_decl,
978         push_parm_decl, grokfield, start_function): Update calls to
979         grokdeclarator.
980         (check_bitfield_type_and_width): New function.
981         (finish_struct): Move bit-field validation to grokdeclarator
982         and check_bitfield_type_and_width.
983
984 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
985
986         PR bootstrap/13386
987         * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
988         using HP native linker.
989         * configure: Rebuilt.
990
991 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
992
993         PR c++/13275
994         * c-common.h (enum rid): Add RID_OFFSETOF.
995         * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
996         * ginclude/stddef.h (offsetof): Reimplement for C++, using
997         __offsetof__.
998         * doc/extend.texi: Document __offsetof__.
999
1000 2003-12-16  Stan Cox  <scox@redhat.com>
1001
1002         * config/iq2000/iq2000.h: Formatting.
1003         (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
1004         (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
1005         (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
1006         * config/iq2000/iq2000.c: Formatting.
1007         (iq2000_rtx_costs): New.
1008
1009 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
1010
1011         * arm.md (addsi3_carryin_shift): Add missing register constraints.
1012
1013 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
1014
1015         * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
1016         pass with -pthread on FreeBSD systems.
1017
1018 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
1019
1020         * config/mips/mips.c (mips_file_end): Only write symbols that have
1021         been referenced at some point.
1022
1023 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
1024
1025         * config/mips/mips.c: Include langhooks.h
1026         (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
1027
1028 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
1029
1030         PR optimization/13313
1031         * combine.c (make_extraction) [REG]: Do not use
1032         gen_lowpart_for_combine when POS is non-zero.
1033
1034 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
1035
1036         * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
1037         * testsuite/gcc.dg/altivec-10.c: Test for above.
1038
1039 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
1040
1041         * Makefile.in (CPPFLAGS): Initialize from configure.
1042
1043 2003-12-15  Roger Sayle  <roger@eyesopen.com>
1044
1045         PR middle-end/13400
1046         * ifcvt.c (noce_process_if_block): Disable unconditional write
1047         optimizations if we could introduce a store to trapping memory
1048         that wasn't present previously.
1049
1050 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
1051
1052         * system.h (DEFAULT_CALLER_SAVES): Poison.
1053         * toplev.c (flag_caller_saves): Always initialize with 0.
1054         * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
1055
1056 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
1057
1058         * flow.c (EXIT_IGNORE_STACK): Move to ...
1059         * defaults.h (EXIT_IGNORE_STACK): ... here.
1060         * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
1061         EXIT_IGNORE_STACK.
1062         * function.c (expand_function_end): Likewise.
1063         * global.c (global_alloc): Likewise.
1064         * ra.c (init_ra): Likewise.
1065         * reload1.c (init_elim_table): Likewise.
1066         * reorg.c (fill_simple_delay_slots): Likewise.
1067         * resource.c (init_resource_info): Likewise.
1068         * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
1069         is 0.
1070
1071 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
1072
1073         * reload.c (reg_overlap_mentioned_for_reload_p):
1074         When looking at a PLUS in X, avoid spuriously returning nonzero
1075         when IN is a REG or another simple PLUS, or a MEM containing one.
1076
1077         * loop.c (loop_invariant_p): Amend comment about where new registers
1078         might come from.
1079
1080 2003-12-15  Andreas Jaeger  <aj@suse.de>
1081
1082         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
1083         handling of obsolete language CHILL.
1084
1085 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
1086
1087         * tree.c (initializer_zerop): Add test for empty set.
1088         * integrate.c (function_cannot_inline_p): Forbid inlining
1089         functions calling `longjmp'.
1090
1091 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
1092
1093         PR c++/11773
1094         * doc/gcov.texi (Gcov and Optimization): Document inline function
1095         behaviour. Fix some file suffixes.
1096
1097 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
1098
1099         * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
1100
1101 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
1102
1103         * c-common.h (c_parse_error): Declare it.
1104         * c-common.c (c_parse_error): New function.
1105         * c-parse.y (yyerror): Use it.
1106
1107 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1108
1109         PR target/13054
1110         * pa-protos.h (indexed_memory_operand, borx_reg_operand,
1111         move_dest_operand, move_src_operand): New protypes.
1112         (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
1113         * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
1114         move_src_operand): New functions.
1115         (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
1116         (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
1117         address until cse is not expected on targets with non-equivalent
1118         space registers.
1119         (hppa_legitimize_address): Canonicalize unscaled indexed addresses
1120         on targets non-equivalent space registers.
1121         (emit_move_sequence): Break out indexed addresses from destination
1122         operand.  Similarly, break out unscaled indexed addresses from
1123         source operand on targets with non-equivalent space registers.  Fix
1124         REG_POINTER flag when possible.  Mark register pointer when creating
1125         new pointers.
1126         (print_operand): Handle unscaled index addresses.
1127         * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
1128         for EXTRA_CONSTRAINT.
1129         (EXTRA_CONSTRAINT): Rework to make more readable.
1130         (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
1131         subroutines for GO_IF_LEGITIMATE_ADDRESS.
1132         (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
1133         and unscaled addresses.  Canonicalize unscaled indexed addresses on
1134         targets with non-equivalent space registers.  Document issues in
1135         handling indexed address modes on PA-RISC.
1136         (PREDICATE_CODES): Update for new and deleted predicates.
1137         * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
1138         Use new predicates in move patterns.
1139         Add peephole2 patterns to optimize floating point stores.  Fix
1140         constrain preferencing in move patterns.  Delete patterns for handling
1141         unscaled indexed memory loads.  Add missing load and store with
1142         base-register modification patterns.  Correct SFmode floating point
1143         store pattern.  Add missing zero extension loads.
1144
1145 2003-12-13  Steven Bosscher  <stevenb@suse.de>
1146
1147         * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
1148         comes in with ggc.h.  Add a new bool field `dead'.
1149         (destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
1150         set the `dead' flag for the dead zone.  Wrap a sanity check in
1151         ENABLE_CHECKING.
1152         (ggc_collect_1): Always mark and sweep if a zone has the `dead'
1153         flag set.
1154         (ggc_collect): Free dead zones after collecting.
1155
1156 2003-12-13  Jan Hubicka  <jh@suse.cz>
1157
1158         * coverage.c (get_coverage_counts):  Use inform instead of warning
1159         about missing profile.
1160
1161 2003-12-12  Steven Bosscher  <stevenb@suse.de>
1162
1163         * Makefile.in (opts.o, explow.o): Depend on langhooks.h
1164
1165 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
1166
1167         * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
1168         <powerpc-*-darwin*>: Likewise.
1169
1170 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
1171
1172         * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
1173         (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
1174         br_loc[7].  Update comment.
1175         (MD_HANDLE_UNWABI): Define.
1176         * config/ia64/unwind-ia64.c (struct unw_state_record): Add
1177         unwabi field.
1178         (struct _Unwind_Context): Increase br_loc array size to 8 entries.
1179         (desc_abi): Set unwabi.
1180         (uw_update_reg_address): Allow br up to 7.
1181         (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
1182         (uw_install_context): Load b1..b5 from correct locations.
1183         Fix insn loading ar.fpsr.
1184         * doc/tm.texi: Document MD_HANDLE_UNWABI.
1185
1186 2003-12-12  Roger Sayle  <roger@eyesopen.com>
1187
1188         PR optimization/13037
1189         * loop.c (update_giv_derive): Ignore redundant sets of a biv when
1190         calculating how to derive a giv from a biv.
1191
1192 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
1193
1194         PR preprocessor/12935 preprocessor/12952 preprocessor/13046
1195         * cpplib.c (prepare_directive_trad): Clear skipping only in
1196         #if and #elif directives.
1197         (do_undef): Call the handler even if the identifier is not a macro.
1198         * cpptrad.c (scan_parameters): Emit an error message.
1199         (_cpp_create_trad_definition): Remember the params list even on
1200         failure.
1201
1202 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
1203
1204         * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
1205         to inline functions: arm_arm_address_cost, arm_thumb_address_cost
1206         respectively.
1207         (arm_address_cost): Use 'em.
1208
1209 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1210
1211         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
1212         __STDC_VERSION__ to ISO C94 for C++.
1213
1214         * fixinc/inclhack.def (alpha_wchar): New fix.
1215         * fixinc/fixincl.x: Regenerate.
1216         * fixinc/tests/base/wchar.h: New file.
1217
1218 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
1219
1220         * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
1221         required by C++ ABI for Itanium.
1222         * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
1223         * config/t-libunwind-no-eh: New file.
1224         * configure.in: Check libunwind for _Unwind_Resume() and if it's
1225         present, set libunwind_has_eh_support to "yes".
1226         * configure: Regenerate.
1227         * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
1228         set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
1229
1230 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
1231
1232         * config/mips/mips.c (mips_global_pointer): Force functions with
1233         a nonlocal goto to set up $gp.
1234
1235 2003-12-11  James E Wilson  <wilson@specifixinc.com>
1236
1237         PR target/13132
1238         * function.c (gen_mem_addressof): When no decl, explicitly clear flag
1239         bits.
1240
1241 2003-12-12  Nick Clifton  <nickc@redhat.com>
1242
1243         * config/m32r/m32r.c: Convert to ISO-C
1244
1245 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1246
1247         * doc/invoke.texi: Replace Mitsubishi with Renesas.
1248         * config/m32r/m32r.h: Ditto.
1249         * config/m32r/m32r.c: Ditto.
1250         * config/m32r/m32r.md: Ditto.
1251
1252 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
1253
1254         * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
1255         (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
1256         (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
1257         (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
1258         fields of a basic block.
1259         * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
1260         cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
1261         cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
1262         final.c, flow.c, function.c, gcse.c, global.c, graph.c,
1263         haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
1264         loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
1265         ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1266         regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
1267         sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
1268         config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
1269         accessing the `head' and `end' fields of a basic block directly.
1270
1271         * gengtype.c: Teach about "void**" pointers and "void *" function
1272         types.  Fixes earlier commit.
1273
1274 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
1275
1276         * doc/extend.texi (Vector Extensions): Document that bitwise
1277         operations also work on vectors.
1278
1279 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
1280
1281         * arm.md: New split patterns for optimizing bitfield accesses.
1282
1283 2003-12-10  Steven Bosscher  <stevenb@suse.de>
1284
1285         * README.Portability: Remove K+R section.
1286
1287         * gengtype-lex.l: Teach about "void**" pointers and
1288         "void*" function types.
1289
1290 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1291
1292         PR target/13354
1293         * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
1294         manually if one can do that with only one instruction.
1295
1296 2003-12-10  Nick Clifton  <nickc@redhat.com>
1297
1298         * config.gcc (arm-linux): Include linux.h in tm_file so that
1299         LINUX_TARGET_OS_CPP_BUILTINS is defined.
1300         * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
1301
1302 2003-12-09  James E Wilson  <wilson@specifixinc.com>
1303
1304         * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
1305
1306 2003-12-09  Matt Austern  <austern@apple.com>
1307
1308         PR c/13134
1309         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
1310
1311 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1312
1313         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
1314         a new command line option -m32r2 to select it.
1315         * config/m32r/m32r.c: Add support for the new processor variant.
1316         * config/m32r/m32r.md: Likewise.
1317         * config/m32r/t-m32r: Add m32r2 multilibs.
1318         * doc/invoke.texi: Document the new command line switch.
1319
1320 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
1321
1322         * defaults.h (LOCAL_REGNO): Give the default definition.
1323         * flow.c (LOCAL_REGNO): Remove.
1324         * reload1.c (LOCAL_REGNO): Likewise.
1325
1326 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
1327
1328         PR target/11848
1329         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
1330         in floating-point registers between TFmode and DImode.
1331         * rs6000.c (rs6000_emit_move): Split moves early.
1332         (secondary_reload_class): Random Whitespace Change.
1333         (rs6000_split_multireg_move): Support moves involving FP registers.
1334         Emit instructions directly.
1335         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
1336         * altivec.md: Update for changes to rs6000_split_multireg_move.
1337         * rs6000.md: Update for changes to rs6000_split_multireg_move.
1338         (movtf_internal): Support moves to/from GPRs.
1339
1340 2003-12-08  Stuart Hastings  <stuart@apple.com>
1341
1342         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
1343
1344 2003-12-08  James E Wilson  <wilson@specifixinc.com>
1345
1346         PR target/13132
1347         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
1348         integer modes.
1349
1350 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1351
1352         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
1353         directory.
1354
1355 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
1356
1357         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
1358         by using match_scratch.
1359         (negdi2): New.
1360
1361 2003-12-08  Jason Merrill <jason@redhat.com>
1362             Daniel Berlin  <dberlin@dberlin.org>
1363
1364         PR debug/11114
1365         Support namespaces in DWARF 2 output.
1366         * dwarf2out.c (gen_namespace_die): New function.
1367         (force_namespace_die, setup_namespace_context): New fns.
1368         (declare_in_namespace): New fn.
1369         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
1370         (dwarf2out_decl): Handle namespaces.
1371         (scope_die_for): Pass through a namespace scope.
1372         (class_scope_p): Rename to class_or_namespace_scope_p.
1373         (gen_subprogram_die, gen_variable_die): Adjust.
1374         (gen_struct_or_union_die): Always emit a declaration
1375         if context_die is a namespace.
1376
1377 2003-12-08  Jan Hubicka  <jh@suse.cz>
1378
1379         * unwind-pe.h (read_uleb128): Fix handling of large values
1380         (read_sleb128): Fix handling of large values
1381
1382 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
1383
1384         PR middle-end/10060
1385         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
1386         (copy_rtx_if_shared_1): here and optimize the last one
1387         in the sequence into tail-recursion.
1388         (reset_used_flags): Optimize the last one
1389         in the sequence into tail-recursion.
1390
1391 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
1392
1393         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
1394         for constant X.
1395
1396 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
1397
1398         * calls.c (expand_call): Don't try using tail or recursive calls
1399         after the function body has been expanded.
1400
1401 2003-12-08  Jan Hubicka  <jh@suse.cz>
1402
1403         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
1404
1405 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
1406
1407         PR ada/13324, PR ada/12614
1408         * doc/install.texi: Update requirements for building Ada.
1409
1410 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
1411             Graham Reed <greed@pobox.com>
1412
1413         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
1414         (GCC_UNDEF_SYMBOL): Same.
1415
1416 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
1417
1418         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
1419         * system.h (FINAL_PRESCAN_LABEL): Poison.
1420         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
1421
1422 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1423
1424         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
1425
1426 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1427
1428         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
1429         * configure: Regenerate with autoconf 2.13.
1430
1431         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
1432         with modern equivalents.
1433         * configure: Regenerate.
1434
1435         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
1436         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
1437         * configure: Regenerate.
1438
1439         * configure: Regenerate with (preferred) autoconf 2.57.
1440         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
1441
1442 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1443
1444         PR optimization/12965
1445         * caller-save.c (save_call_clobbered_regs): Do not save/restore
1446         registers around no-return calls.
1447
1448 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1449
1450         * configure.in: Make minimum necessary changes for autoconf 2.5x.
1451         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
1452         * configure: Regenerate with autoconf 2.58.
1453
1454 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1455
1456         PR optimization/13318
1457         * loop.c (express_from): Protect integer division from overflow.
1458
1459 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1460
1461         PR optimization/13060
1462         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
1463         replacement already exists.  Fix again the whole insn if that fails.
1464
1465 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
1466
1467         * config/rs6000/rs6000.c (macho_branch_islands): Use
1468         HOST_WIDE_INT_PRINT_UNSIGNED.
1469
1470 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
1471
1472         * varasm.c (incorporeal_function_p): New.
1473         (assemble_external): Use it as a filter.
1474         * config/mips/mips.c (mips_output_external): Don't check for builtin
1475         functions here.
1476
1477 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
1478
1479         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
1480
1481 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
1482
1483         * Makefile.in (program_transform_cross_name): Delete.
1484         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
1485         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
1486         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
1487         (install_cpp, install_driver, install-man, uninstall): Likewise.
1488
1489 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
1490
1491         PR 13169
1492         * basic-block.h (PROP_ASM_SCAN): Define.
1493         * final.c (regs_asm_clobbered): New array.
1494         * regs.h (regs_asm_clobbered): Declare.
1495         * flow.c (life_analysis): Init it.
1496         (mark_set_regs): Set PROP_ASM_SCAN for asms.
1497         (mark_set_1): Set regs_asm_clobbered.
1498         * global.c (global_alloc): Don't set eliminable_regset when
1499         regs_asm_clobbered.
1500
1501 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
1502
1503         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1504
1505         PR c++/13314
1506         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1507
1508 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
1509
1510         PR driver/13211
1511         * gcc.c (execute) Increment execution_count when returning
1512         early because verbose_only_flag is true.
1513
1514 2003-12-05  Per Bothner  <pbothner@apple.com>
1515
1516         * cppfiles.c (file_hash_hash):  New static function.
1517         (hash_string_eq):  Renamed static function to file_hash_eq.
1518         (_cpp_init_files):  Create file_hash table with above callbacks.
1519         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
1520         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
1521
1522 2003-12-05  Per Bothner  <pbothner@apple.com>
1523
1524         * line-map.h (source_location):  New typedef.
1525         (fileline):  Redefined as source_location.
1526         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
1527         by source_location.
1528         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
1529
1530 2003-12-05  Richard Henderson  <rth@redhat.com>
1531
1532         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1533         field to suppress -Wpadded warnings.
1534
1535 2003-12-05  Stuart Hastings  <stuart@apple.com>
1536
1537         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1538
1539 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
1540             J"orn Rennecke <joern.rennecke@superh.com>
1541
1542         PR target/13302
1543         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1544
1545 2003-12-05  Roger Sayle  <roger@eyesopen.com>
1546
1547         * dojump.c (do_jump): If the expression being compared against
1548         zero, is the subreg of a promoted variable, perform the comparison
1549         in the promoted mode.
1550         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1551         zero-extensions of subregs of promoted variables where the
1552         extension is identical to that used to promote the variable.
1553
1554 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
1555
1556         PR target/13256
1557         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1558         The only user changed as follows:
1559         * resource.c (mark_set_resources) <case SET>: Always recurse for
1560         SET_SRC (x).
1561         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1562         operands.
1563         <case STRICT_LOW_PART>: Delete, deferring to default code.
1564
1565 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1566
1567         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1568         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1569
1570 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
1571
1572         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1573         for n32 & n64 abicalls.
1574
1575 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
1576
1577         PR bootstrap/13145
1578         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1579         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1580         (mips_load_got): Always create a constant MEM.
1581         (mips_expand_call): Use load_callsi and load_calldi.
1582         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1583         (load_callsi, load_calldi): New patterns.
1584
1585 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
1586
1587         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1588
1589 2003-12-05  Steven Bosscher  <stevenb@suse.de>
1590
1591         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1592         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1593         config/fr30/fr30-protos.h, config/fr30/fr30.c,
1594         config/i370/i370-protos.h, config/i370/i370.c,
1595         config/i960/i960-protos.h, config/i960/i960.c,
1596         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1597         config/m32r/m32r-protos.h, config/m32r/m32r.c,
1598         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1599         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1600         Convert to ISO C90 function declarations and definitions.
1601
1602 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1603
1604         * doc/extend.texi (Constructing Calls): Add warning about
1605         the limitations of the functions.
1606
1607 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1608
1609         PR middle-end/11151
1610         * function.h (struct function): New field 'x_naked_return_label'.
1611         * function.c (free_after_compilation): Set it to NULL.
1612         (expand_function_end): Emit 'naked_return_label' if it exists.
1613         * rtl.h (expand_naked_return): Declare.
1614         * stmt.c (expand_naked_return): New function to generate a
1615         jump to 'naked_return_label'.
1616         * builtins.c (expand_builtin_return): Call expand_naked_return
1617         instead of expand_null_return.
1618         * config/sparc/sparc.md (untyped_return): Likewise.
1619
1620 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
1621
1622         PR target/11322
1623         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1624
1625         PR target/12467
1626         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1627
1628 2003-12-04  Stuart Hastings  <stuart@apple.com>
1629
1630         * rs6000.c (output_call, macho_branch_islands,
1631         add_compiler_branch_island, no_previous_def, get_previous_label)
1632         Revisions of xx_stub functions for branch islands,
1633         add -fPIC support for Darwin.
1634         * rs6000-protos.h (output_call) Prototype.
1635         * rs6000.md Use output_call.
1636         * invoke.texi Explain Darwin semantics of -longcall.
1637         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1638
1639 2003-12-04  Richard Henderson  <rth@redhat.com>
1640
1641         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1642         (subqi3_carry): Likewise.
1643
1644 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1645
1646         PR optimization/13260
1647         * sh-protos.h (sh_expand_t_scc): Declare.
1648         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1649         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1650         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
1651         something that is not a CONST_INT, copy it into a pseudo register.
1652         (subc): Fix description of new T value.
1653         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1654         (sltu, sleu, sgeu): Likewise.
1655         (seq, sne): Likewise. Use sh_expand_t_scc.
1656
1657 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1658
1659         * configure.in: Generalize the CONFIG_HEADERS pattern under which
1660         we stamp cstamp-h.
1661         * configure: Regenerate.
1662
1663         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1664         to avoid trouble when updating to autoconf 2.5x.
1665         * configure: Regenerate (with autoconf 2.13 still).
1666
1667 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1668
1669         * sh.md (truncdiqi2): Use andi opcode for immediate.
1670         (reload_outdf+1,reload_outdf+2): Remove constraints.
1671         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1672         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1673         (fipr, ftrv): Add .s suffix to opcode.
1674
1675 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
1676
1677         PR target/13186
1678
1679         Revert all of the following patch, except the addition of
1680         hook_bool_machine_mode_true:
1681
1682         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1683
1684         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1685         (GTFILES): Add targhooks.c.
1686         (gt-targhooks.h): New rule; depend on s-gtype.
1687         * target.h (direct_pool_load_p): New hook.
1688         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1689         (TARGET_INITIALIZER): Include it.
1690         * targhooks.h (default_direct_pool_load_p): Declare.
1691         (hook_bool_machine_mode_true): Declare.
1692         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1693         gt-targhooks.h.
1694         (pool_symbol): New variable.
1695         (default_direct_pool_load_p): New function.
1696         (hook_bool_machine_mode_true): New function.
1697         * reload.c: Include target.h.
1698         (find_reloads): If an alternative will force a constant into memory,
1699         count an extra reload if constant pool symbols are not valid
1700         addresses.  If an alternative uses memory to move values between
1701         registers, count the move as two reloads rather than one.
1702         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1703         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1704
1705 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
1706
1707         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1708         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1709         HAVE_AS_TLS is true.
1710         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1711
1712 2003-12-03  James E Wilson  <wilson@specifixinc.com>
1713
1714         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1715
1716         * gcc-page.c (extra_order_size_tab): Correct comment.
1717
1718 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1719
1720         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1721         instead of gen_push_h8300hs.
1722         (pop): Call gen_pop_h8300hs_advanced instead of
1723         gen_pop_h8300hs.
1724         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1725         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1726         Tighten the predicate.
1727         (*tablejump_h8300hs_normal): Tighten the predicate.
1728         (push_h8300hs): Change to
1729         push_h8300hs_advanced.
1730         (pop_h8300hs): Change to pop_h8300hs_advanced.
1731
1732 2003-12-03  Eric Christopher  <echristo@redhat.com>
1733
1734         * rtl.c: Fix typo.
1735         * config/mips/mips.h: Ditto. Fix formatting.
1736
1737 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
1738
1739         * future.options: Remove. Move to gnu.org web pages.
1740
1741 2003-12-03  Eric Christopher  <echristo@redhat.com>
1742
1743         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1744         from here...
1745         * c-tree.h: to here.
1746
1747 2003-12-03  Jan Hubicka  <jh@suse.cz>
1748
1749         PR optimization/12324
1750         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
1751         in unit-at-a-time mode.
1752
1753 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
1754
1755         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1756         read-only field if cleared is 0.
1757
1758 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
1759
1760         * config.gcc: Mark obsolete targets for GCC 3.4.
1761
1762 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
1763
1764         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1765         * config.in, configure.in: Regenerate.
1766         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1767         including iconv.h.
1768
1769 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
1770
1771         PR target/11229
1772         * cse.c (cse_insn): Set classp using src_const_elt if
1773         src_eqv_elt is NULL.
1774
1775 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
1776
1777         * gcse.c (reg_clear_last_set): New function.
1778         (reg_set_info): If data is non-null, treat it as an sbitmap of
1779         registers, set the bit for the register being set.
1780         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
1781         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
1782         to note_stores while computing last_set_in instead of scanning
1783         last_set_in after the first pass through the insns.
1784         Clear last_set_in using reg_clear_last_set instead of explicitly
1785         rescanning after each insn.  If checking is enabled, assert that
1786         last_set_in is completely zeroed after each bb has been processed.
1787
1788 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
1789
1790         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1791         never read-write.
1792         <REG>: Delete incorrect comment.
1793         <SET>: Remove 'use_flags' variable.
1794
1795 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
1796
1797         * function.c (assign_parms): Make sure parm PARALLEL combined
1798         in reg is composed of more than one object and the mode really
1799         produces a reg.
1800
1801 2003-12-03  Jan Hubicka  <jh@suse.cz>
1802
1803         * i386.c (classify_argument): Make it 64bit clean.
1804
1805 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
1806
1807         * config/mips/mips.c (mips_output_external): Replace checks for
1808         specific builtin-in functions with a check for DECL_BUILTIN_IN.
1809
1810 2003-12-02  Richard Henderson  <rth@redhat.com>
1811
1812         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1813         * tree.h (TREE_SET_CODE): Likewise.
1814         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1815
1816 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
1817
1818         * dbxstclass.h: Rename from this ..
1819         * xcoff.h: .. to this.
1820         * xcoffout.c: Include xcoff.h.
1821
1822 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1823
1824         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1825
1826 2003-12-01  James Lemke <jim@wasabisystems.com>
1827
1828         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1829
1830 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1831
1832         PR optimization/11634
1833         * recog.c (split_insn): Factor test of INSN_P and handling of
1834         set_noop_p out of here into the two callers.
1835         (split_all_insns): Add INSN_P test and set_noop_p handling here.
1836         If deleting a no-op set after reload that has a REG_UNUSED note,
1837         mark the basic block as changed and recalculate life information.
1838         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1839         here.
1840
1841 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1842
1843         PR optimization/12322
1844         * gcse.c (struct ls_expr): Change type of hash_index from int to
1845         unsigned int.
1846         (hash_expr): Document hash_table_size parameter and wrap long line.
1847         (ldst_entry): Calculate expression's hash_index and record in ptr.
1848         (trim_ld_motion_mems): Use hash_index to search a single bucket
1849         instead of scanning the entire hash_table.  Remove the "del" local
1850         variable and use the equivalent "expr == 0" instead.  Change last
1851         to be a pointer to the pointer to the current element, to simplify
1852         and speed-up deleting from a linked list.
1853
1854 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1855
1856         * doc/contrib.texi: Update David Mosberger.
1857
1858         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1859         of missing fields.
1860
1861         PR target/8407
1862         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1863         gen_rtx_REG to create new reg with argument mode.
1864
1865 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1866
1867         * ggc.h (struct alloc_zone): Move forward declaration up.
1868         (new_ggc_zone): New function prototype.
1869         (destroy_ggc_zone): Ditto.
1870         * ggc-simple.c (new_ggc_zone): New function, does nothing.
1871         (destroy_ggc_zone): Ditto.
1872         * ggc-page.c (new_ggc_zone): New function, does nothing.
1873         (destroy_ggc_zone): Ditto.
1874         * ggc-zone.c (struct page_entry): Fix comment.
1875         (ggc_alloc_typed): Use a switch statement instead of ifs.
1876         (new_ggc_zone): New function to set up a new GC zone.
1877         (destroy_ggc_zone): New function to remove a GC zone.
1878         init_ggc): Use new_ggc_zone to set up the default zones.
1879         (ggc_collect): Walk a list of zones, instead of just the
1880         default zones.  Report statistics using the zone name.
1881
1882 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1883
1884         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1885
1886 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1887
1888         PR optimization/12628
1889         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1890         * regclass.c (reg_scan): Include allocate_reg_info time in
1891         TV_REG_SCAN.  Minor clean-ups.
1892         (reg_scan_update): Minor clean-ups.
1893
1894 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1895
1896         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1897
1898 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1899
1900         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1901         GR_ARG_FIRST.
1902
1903 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
1904
1905         * common.opt: Remove -fgnu-linker.
1906         * flags.h: Remove flag_gnu_linker.
1907         * opts.c: Don't handle OPT_fgnu_linker.
1908         * toplev.c: Don't initialize flag_gnu_linker.
1909         Remove gnu-linker entry from f_options.
1910         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1911         Don't reset flag_gnu_linker.
1912         * config/mips/mips.c (override_options): Likewise.
1913         * doc/invoke.texi: Remove all mention of -fgnu-linker.
1914
1915 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
1916
1917         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1918         ggc_get_size (which accounts for large objects properly).
1919
1920 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
1921
1922         PR optimization/13024
1923         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1924         parameter.
1925         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
1926         declaration.  Rebuild jump labels following local_alloc if necessary.
1927         (rest_of_compilation): Remove rebuild_label_notes_after_reload
1928         declaration.  Don't pass rebuild_notes parameter to
1929         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1930         Don't rebuild jump labels.
1931
1932 2003-12-01  Jeff Law  <law@redhat.com>
1933
1934         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
1935         count_or_remove_death_notes.
1936         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1937
1938 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1939
1940         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1941
1942 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1943
1944         * reload.c (find_reloads_address): Split addresses of type
1945         (plus (plus (reg) (reg)) (const_int)) only if one register
1946         is either a valid base register or else one of the stack
1947         frame related registers (sp/fp/ap).
1948
1949 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1950
1951         * function.c (update_epilogue_consts): Don't use PARAMS.
1952         * rtl.h (web_main): Ditto.
1953         * target.h (is_costly_dependence): Ditto
1954
1955 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1956
1957         PR middle-end/7847
1958         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1959         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
1960         unaligned objects, take also into account the alignment of 'op0' and
1961         'mode1' if 'op0' is a MEM.
1962
1963 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1964
1965         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1966
1967 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
1968
1969         * doc/install.texi: Note that fastjar is built with automake 1.7.x
1970         and autoconf 2.57.
1971
1972 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
1973
1974         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1975         target_flags directly rather than using TARGET_* defines.
1976
1977 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
1978
1979         * doschk.c: Remove.
1980
1981 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
1982
1983         PR target/12727
1984         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1985         on 32-bit big-endian targets.
1986
1987 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
1988
1989         * genemit.c (register_constraints): Remove.
1990
1991 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
1992
1993         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1994         "iordi3"): Insns now use multiple letter constraints.
1995         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1996         covered by "*movdi_64".
1997         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1998         covered by "*movsi_zarch" and "*movsi_esa".
1999         ("*movsi_zarch", "*movsi_!zarch"): New insns.
2000         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
2001         by "*andsi3_zarch" and "anddi3".
2002         ("*anddi3_ni"): Insn merged with "anddi3".
2003         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
2004         ("*andsi3_zarch", "*andsi3_esa"): New insns.
2005         ("*iordi3_oi"): Insn merged with "iordi3".
2006         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
2007         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
2008
2009         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
2010         merged to s390_single_part.
2011         (s390_single_part): New function.
2012         NOTE: Semantics have changed a bit. Now the value of the part must
2013         be different from the others to get a non-negative return value.
2014         (s390_extract_qi, s390_extract_hi): Functions merged to
2015         s390_extract_part.
2016         (s390_extract_part, s390_extra_constraint_str,
2017         s390_const_ok_for_constraint_p): New functions. The L constraint got a
2018         new meaning and the N constraint was added as a multiple letter
2019         constraint.
2020         (s390_extra_constraint): Function deleted.
2021         (print_operand): New output modifier 'i' and 'j' added.
2022         All uses of CONST_OK_FOR_LETTER_P were replaced by
2023         CONST_OK_FOR_CONSTRAINT_P.
2024
2025         * config/s390/s390-protos.h: Function prototypes adapted.
2026         * doc/md.texi: Documentation for new constraint letters added.
2027
2028 2003-11-30  Andreas Schwab  <schwab@suse.de>
2029
2030         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
2031
2032 2003-11-29  James E Wilson  <wilson@specifixinc.com>
2033
2034         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
2035         instead of in shared_name.
2036
2037         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
2038         * reload1.c (reload): Re-add it here.
2039
2040 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
2041
2042         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
2043         set SECTION_WRITE on TARGET_RELOCATABLE.
2044
2045 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2046
2047         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
2048
2049 2003-11-28  Gunther Nikl  <gni@gecko.de>
2050
2051         * config/m68k/m68k.c (MOTOROLA): Move from here...
2052         * config/m68k/m68k.h (MOTOROLA): ... to here.
2053         (OUTPUT_JUMP): Use do {...} while (0).
2054         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
2055
2056 2003-11-28  Gunther Nikl  <gni@gecko.de>
2057
2058         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
2059         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
2060         MOTOROLA and USE_GAS.
2061         * config/m68k/rtemself.h (MOTOROLA): Delete.
2062         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
2063         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
2064
2065 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2066
2067         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
2068
2069 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
2070
2071         * Makefile.in (install-info): Install gccinstall.info too.
2072
2073 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
2074
2075         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
2076
2077 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
2078
2079         * config/s390/s390.md ("movhi"): Do not emit extender pattern
2080         when loading from a (MEM (ADDRESSOF ...)).
2081         ("movqi"): Likewise.
2082
2083 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
2084
2085         PR c/10333
2086         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
2087         bit-fields.
2088
2089 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
2090
2091         * stmt.c (expand_asm_operands): Check whether force_const_mem
2092         succeeded.
2093
2094 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2095
2096         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
2097         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
2098
2099         * config/alpha/gnu.h, config/alpha/linux.h,
2100         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
2101         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
2102         config/i386/linux-aout.h, config/i386/linux.h,
2103         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
2104         config/m68k/uclinux.h, config/mips/linux.h,
2105         config/mn10300/linux.h, config/pa/pa-linux.h,
2106         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
2107         config/sparc/linux.h, config/sparc/linux64.h,
2108         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
2109         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
2110         all necessary assertions are included.
2111
2112 2003-11-28  Jan Hubicka  <jh@suse.cz>
2113
2114         * emit-rtl.c (set_used_flags): New.
2115         (verify_rtx_sharing, verify_rtl_sharing): New.
2116         (unshare_all_rtl_1): Rename to....
2117         (unshare_all_rtl_in_chain): ... this one; make static.
2118         (copy_rtx_if_shared): LABEL_REF chan be shared.
2119         * ifcvt.c (unshare_ifcvt_sequence): New.
2120         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
2121         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
2122         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
2123         noce_try_abs, noce_process_if_block, find_cond_trap
2124         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
2125         Declare.
2126
2127 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2128
2129         * config/h8300/h8300.md: Fix a comment typo.
2130
2131 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2132
2133         * config/h8300/h8300.md (*movsf_h8300h): Change to
2134         *movsf_h8300hs.
2135         (addsi_h8300): Change to *addsi_h8300.
2136         (addsi_h8300h): Change to *addsi_h8300hs.
2137         (subsi3_h8300): Change to *subsi3_h8300.
2138         (subsi3_h8300h): Change to *subsi3_h8300hs.
2139         (neghi2_h8300h): Change to *neghi2_h8300hs.
2140         (negsi2_h8300h): Change to *negsi2_h8300hs.
2141
2142 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2143
2144         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
2145         constraint.
2146         (*subhi3_h8300hs): Likewise.
2147
2148 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
2149
2150         * config/rs6000/rs6000.h (MASK_MFCRF): New.
2151         (TARGET_MFCRF): Test target_flags, not processor type.
2152         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
2153         Change Don't to Do not.
2154         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
2155         to power4, 970, G5.
2156
2157 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
2158
2159         * cse.c (cse_set_around_loop): When changing a constant load
2160         to a register -register copy, add a REG_EQUAL note.
2161
2162 2003-11-27  Randolph Chung  <tausq@debian.org>
2163             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2164
2165         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
2166         insns.  Use the regular call expander for the call to the profiler.
2167         * pa.md (call_profiler): Delete.
2168         (load_offset_label_address): New insn to load the address of the
2169         current function for the profiler.
2170         (lcla1, lcla2): New insns to output a code label and load its address.
2171
2172 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2173
2174         * final.c (final_scan_insn): Remove commented-out code.
2175
2176 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
2177
2178         * doc/install.texi: Remove ADAC reference and make accurate.
2179
2180 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2181
2182         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
2183         (FUNCTION_VALUE_REGNO_P): Likewise.
2184         * config/h8300/h8300.md: Define R0_REG.
2185
2186 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2187
2188         * config/h8300/h8300.c: Fix formatting.
2189         * config/h8300/h8300.md: Likewise.
2190
2191 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2192
2193         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
2194
2195 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2196
2197         * config/h8300/h8300.md: Give names to anonymous insns.
2198
2199 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2200
2201         * config/h8300/h8300.md (extendqisi2): Remove constraints.
2202
2203 2003-11-27  Gunther Nikl  <gni@gecko.de>
2204
2205         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
2206
2207 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2208
2209         PR optimization/13041
2210         * final.c (frame_pointer_needed): Fix comment.
2211         * reload1.c (reload): Decrease alignment of the frame
2212         pointer if it was used for register allocation.
2213
2214 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2215
2216         PR target/12900
2217         * reg-stack (move_for_stack_reg): New prototype.  Return
2218         whether a control flow insn was deleted.
2219         (subst_stack_regs_pat): Likewise, using the information provided
2220         by move_for_stack_reg.
2221         (subst_stack_regs): Likewise, using the information provided
2222         by subst_stack_regs_pat.
2223         (convert_regs_1): Record whether a control flow insn was deleted,
2224         using the information provided by subst_stack_regs.  Purge dead
2225         edges only if a control flow insn was deleted.
2226
2227 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2228
2229         PR middle-end/8028
2230         PR middle-end/9890
2231         PR middle-end/11151
2232         PR middle-end/12210
2233         PR middle-end/12503
2234         PR middle-end/12692
2235         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
2236         as the base address to copy the memory arguments to.
2237
2238 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
2239
2240         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
2241         function aliases as functions.
2242
2243 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2244
2245         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
2246         of ADAC.
2247         * configure: Regenerate.
2248
2249         * Makefile.in: Remove references to ADAC.
2250
2251         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
2252         * configure: Regenerate.
2253
2254 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
2255             Olivier Hainque  <hainque@act-europe.fr>
2256
2257         PR target/6466
2258         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
2259         (sparc_flat_compute_frame_size): Likewise.
2260         (sparc_flat_save_restore): Move prototype...
2261         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
2262         (save_regs): New prototype.
2263         (build_big_number): Likewise.
2264         (apparent_fsize): Change type to HOST_WIDE_INT.
2265         (actual_fsize): Likewise.
2266         (frame_base_offset): Likewise.
2267         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
2268         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
2269         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
2270         to load a 64-bit constant.
2271         (sparc_nonflat_function_prologue): Change string descriptor to
2272         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
2273         (output_restore_regs): Change offset type to HOST_WIDE_INT.
2274         (sparc_nonflat_function_epilogue): Change string descriptor to
2275         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
2276         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
2277         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
2278         (sparc_frame_info): Change types for several components.
2279         (sparc_flat_compute_frame_size): Update types according to previous
2280         change.
2281         (sparc_flat_function_prologue): Change string descriptor to
2282         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
2283         build_big_number.
2284         (sparc_flat_function_epilogue): Change offset type to int.
2285         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
2286         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
2287         limit to 4096 instead of 4095.
2288
2289         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
2290         HOST_WIDE_INT.
2291
2292 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
2293
2294         * function.c: Make outer_function-chain external.
2295         * function.h: Likewise.
2296
2297 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
2298
2299         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
2300         using GNU ld.
2301         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
2302         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
2303         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
2304         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
2305         (SUBTARGET_EXTRA_SPECS): Define.
2306         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
2307         to __gcc_init and -fini function to __gcc_fini.
2308         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
2309         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
2310         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
2311         * config/mips/t-iris6gld,
2312         * config/mips/irix6-crti.asm,
2313         * config/mips/irix6-crtn.asm: New files.
2314
2315 2003-11-24  Eric Christopher  <echristo@redhat.com>
2316
2317         PR C/13014
2318         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
2319         (start_function): Use.
2320         (c_push_function_context): Ditto.
2321         (c-pop_function_context): Ditto.
2322         (language_function): Move...
2323         * c-tree.h: ... here. Add x_in_iteration_stmt, and
2324         x_in_case_stmt.
2325         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
2326         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
2327         check for valid break or continue statment here...
2328         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
2329         here. Change original errors to abort.
2330
2331 2003-11-24  Jan Hubicka  <jh@suse.cz>
2332
2333         * fold-const.c (fold):  Do not return early when optimizing
2334         COMPONENT_REF and constant.
2335
2336 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2337
2338         * config/h8300/h8300.md (tablejump_h8300): Change to
2339         *tablejump_h8300.
2340         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
2341         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
2342         (indirect_jump_h8300): Change to *indirect_jump_h8300.
2343         (indirect_jump_h8300h): Change to
2344         *indirect_jump_h8300hs_advanced.
2345         (indirect_jump_normal_mode): Change to
2346         *indirect_jump_h8300hs_normal.
2347
2348 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2349
2350         * config/h8300/h8300.md: Remove constraints from expanders.
2351
2352 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2353
2354         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
2355         stm_h8300s_2_advanced.
2356         (stm_h8300s_2_normal): New.
2357         (stm_h8300s_2): Likewise.
2358         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
2359         (stm_h8300s_3_normal): New.
2360         (stm_h8300s_3): Likewise.
2361         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
2362         (stm_h8300s_4_normal): New.
2363         (stm_h8300s_4): Likewise.
2364         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
2365         (ldm_h8300s_2_normal): New.
2366         (ldm_h8300s_2): Likewise.
2367         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
2368         (ldm_h8300s_3_normal): New.
2369         (ldm_h8300s_3): Likewise.
2370         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
2371         (ldm_h8300s_4_normal): New.
2372         (ldm_h8300s_4): Likewise.
2373         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
2374         (two peephole2's): New.
2375
2376 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2377
2378         * genattrtab.c (simplify_cond): Update indices correctly.
2379         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
2380         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
2381         (check_attr_test, encode_units_mask, compute_alternative_mask,
2382         make_alternative_compare, simplify_and_tree,
2383         attr_rtx_cost, simplify_test_exp, gen_attr,
2384         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
2385         * rtl.def (EQ_ATTR_ALT): New.
2386
2387 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2388
2389         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
2390         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
2391         New variables.
2392         (main): Initialize them.
2393         (find_attr): Canonicalize the attribute name string.
2394         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
2395         string arguments.
2396         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
2397         (check_attr_test, check_attr_value, make_length_attrs,
2398         write_length_unit_log, simplify_by_exploding, gen_attr,
2399         write_test_expr, write_attr_value, write_eligible_delay,
2400         write_complex_function, make_internal_attr,
2401         write_const_num_delay_slots): Changed due to change of type of
2402         find_attr.
2403         (fill_attr, evaluate_eq_attr, simplify_and_tree,
2404         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
2405         strcmp_check.
2406
2407 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
2408
2409         PR target/13122
2410         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
2411         normal mode.
2412         (pop): Call pop_h8300hs_normal in normal mode.
2413         * config/h8300/h8300.md: Likewise.
2414         (pushqi1_h8300hs_normal): New.
2415         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
2416         (pushhi1_h8300hs_normal): New.
2417         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
2418         (push_h8300hs_normal): New.
2419         (pop_h8300hs_normal): Likewise.
2420
2421 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2422
2423         * genattrtab.c (count_sub_rtxs): Removed.
2424
2425 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
2426
2427         * recog.c (preprocess_constraints): Only zero those elements of
2428         recog_op_alt that are needed for this insn.
2429         * arm.c (note_invalid_constants): A function can't contain invalid
2430         constants if it has no constraints.
2431
2432 2003-11-22  Jan Hubicka  <jh@suse.cz>
2433
2434         * i386.c (classify_argument): Pass __float128 in memory.
2435         (ix86_return_in_memory): Likewise.
2436         (ix86_libcall_value): Likewsie.
2437
2438 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
2439
2440         * config/h8300/h8300.c (dosize): Convert to ISO-C.
2441
2442 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
2443
2444         * flow.c (update_life_info): Amend comment about when a register
2445         can become dead.
2446
2447 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
2448
2449         * doc/.cvsignore: Delete.
2450
2451 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
2452             David Edelsohn  <edelsohn@gnu.org>
2453
2454         * dwarf2out.c (add_location_or_const_value_attribute): Add support
2455         for PARALLEL.
2456
2457 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2458
2459         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
2460         (TARGET_LIBGCC2_CFLAGS): Define.
2461
2462         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
2463         (__do_global_ctors): Likewise.
2464
2465 2003-11-21  Mark Wielaard  <mark@klomp.org>
2466
2467         * doc/invoke.texi (-O2): Doesn't enable -fweb.
2468
2469 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2470
2471         * doc/invoke.texi: Mention dV and dZ.
2472
2473 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2474
2475         * doc/invoke.texi: Update dump file names.
2476         Remove de, dW, and dX.
2477
2478 2003-11-20  James E Wilson  <wilson@specifixinc.com>
2479
2480         PR c/13133
2481         * reload1.c (reload): Delete special handling for setjmp.
2482
2483 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
2484
2485         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
2486         step too.
2487         * config/t-slibgcc-darwin: Adjust install path.
2488         * config/rs6000/t-darwin: Revert multilib matches since
2489         it is not used on darwin.
2490
2491 2003-11-20  Richard Henderson  <rth@redhat.com>
2492
2493         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
2494         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
2495         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
2496         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
2497         * flow.c: Don't include ssa.h.
2498         (set_phi_alternative_reg): Remove.
2499         (calculate_global_regs_live): Don't call it.
2500         (mark_used_regs): Don't handle PHI.
2501         * gengtype.c (open_base_files): Don't reference ssa.h.
2502         * rtl.def (PHI): Remove.
2503         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
2504         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
2505         * opts.c (common_handle_option): Likewise.
2506         * toplev.c (f_options): Likewise.
2507         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
2508         (dump_file): Update to match.
2509         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
2510         (rest_of_handle_ssa): Remove.
2511         (rest_of_compilation): Don't call it.
2512         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2513         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2514         * doc/passes.texi (SSA optimizations): Remove.
2515
2516 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
2517
2518         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2519         * configure: Regenerate.
2520
2521 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
2522
2523         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2524
2525 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
2526
2527         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2528         (SHLIB_LC): Define.
2529         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2530         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2531
2532 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
2533             David Edelsohn  <edelsohn@gnu.org>
2534
2535         * calls.c (expand_call): Allocate new temp in pass1.
2536         (store_one_arg): If PARALLEL, calculate excess using mode size of
2537         rtvec elt.
2538         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2539         mode size of rtvec elt.
2540         * function.c (assign_parms): Use parm in register, if available.
2541
2542 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
2543
2544         * config/h8300/lib1funcs.asm (MOVP): Remove.
2545         (ADDP): Likewise.
2546         (CMPP): Likewise.
2547
2548 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
2549
2550         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
2551         with a single instruction if the stack has been decremented by 4
2552         and we have a frame pointer.  Update all callers.
2553         (output_return_instruction): Likewise.
2554         (arm_output_epilogue): Change argument to SIBLING.  Calculate
2555         really_return from the new argument.  Update all callers.
2556         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2557         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2558         pass the sibling call.
2559         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2560         prototypes.
2561
2562 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2563
2564         * Makefile.in (extraclean): Delete.
2565         * configure.in (target_list): Remove extraclean.
2566         * configure: Regenerate.
2567         * doc/makefile.texi, doc/sourcebuild.texi: Update.
2568         * objc/Make-lang.in (objc.extraclean): Delete.
2569
2570 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2571
2572         * Makefile.in (lang_checks): Add.
2573         (check-c++, check-f77, check-java, check-g++, check-g77,
2574         check-objc): Remove hardcoded targets.
2575         * doc/sourcebuild.texi: Document testsuite hooks.
2576         * objc/Make-lang.in (check-objc, lang_checks): Add.
2577
2578 2003-11-19  Scott Snyder  <snyder@fnal.gov>
2579
2580         PR target/13131
2581         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2582         flag, not a constant.
2583
2584 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
2585
2586         * config/arc/arc-protos.h: Update to C90 prototypes.
2587         * config/arc/arc.c: Likewise.
2588         * config/arc/initfini.c: Likewise.
2589
2590 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2591
2592         * stmt.c (expand_goto): Memory clobbers added.
2593
2594 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2595
2596         * reload.c (find_reloads): Added missing type casts.
2597
2598 2003-11-19  James E Wilson  <wilson@specifixinc.com>
2599
2600         * combine.c (sets_function_arg_p): Delete unused function.
2601
2602 2003-11-19  Eric Christopher  <echristo@redhat.com>
2603
2604         * reload1.c (reload): Revert 2 previous checkins.
2605
2606 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2607
2608         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2609         whether directive begins at the beginning of a line.
2610
2611 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
2612
2613         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2614
2615 2003-11-19  Gerald Pfeifer  <gp@suse.de>
2616
2617         * doc/install.texi (Specific): Remove information on old versions
2618         of glibc versus old versions of GCC.
2619
2620 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
2621
2622         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2623         the register lowpart is a TRULY_NOOP_TRUNCATION.
2624
2625 2003-11-19  Richard Henderson  <rth@redhat.com>
2626
2627         * config/i386/i386.c (print_reg): Handle QI and HI modes for
2628         non Q regs.
2629
2630 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
2631
2632         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2633         specification file.
2634         * config/t-slibgcc-darwin: New file, libgcc build specification.
2635         * config/t-darwin: Add libgcc2 flag -fPIC.
2636         * config/rs6000/t-darwin: Multilib matches float.
2637         * libgcc-darwin.ver: New file, contains libgcc symbols.
2638
2639 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
2640
2641         * config/ns32k/ns32k.h: Remove obsolete comment.
2642
2643 2003-11-18  Roger Sayle  <roger@eyesopen.com>
2644
2645         PR middle-end/11821
2646         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2647         size for calls to libgcc's div & mod subroutines when using -Os.
2648
2649 2003-11-18  Jan Hubicka  <jh@suse.cz>
2650
2651         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2652
2653 2003-11-18  Marc Espie  <espie@openbsd.org>
2654
2655         * config/rs6000/sysv4.h: OpenBSD hooks.
2656
2657 2003-11-18  Richard Henderson  <rth@redhat.com>
2658
2659         * expr.c (expand_expr): Don't look through constant arrays if
2660         they don't bind locally.
2661
2662 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2663
2664         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2665         when seeing if truncation or extension.
2666
2667 2003-11-17  Eric Christopher  <echristo@redhat.com>
2668
2669         * reload1.c (reload): Fix previous change.
2670
2671 2003-11-17  Scott Snyder  <snyder@fnal.gov>
2672
2673         PR debug/11325
2674         * dwarf2out.c (struct die_struct): Add die_definition field.
2675         (add_AT_specification): New.
2676         (gen_subprogram_die, gen_variable_die,
2677         gen_struct_or_union_type_die): Use it.
2678         (prune_unused_types_mark): If we're marking a forward declaration,
2679         also mark the full definition, if it exists.
2680
2681 2003-11-16  Nick Clifton  <nickc@redhat.com>
2682
2683         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2684         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2685         Remove prototype.
2686         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2687         to xstormy16_build_builtin_va_list and make static.
2688         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2689
2690 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2691
2692         * config/h8300/h8300-protos.h: Add the prototype for
2693         same_cmp_following_p.
2694         * config/h8300/h8300.c (same_cmp_following_p): New.
2695         * config/h8300/h8300.md (peephole2): Use it.
2696
2697 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2698
2699         * config/h8300/h8300.md: Don't use REGNO when its operand is
2700         not guaranteed to be a REG.
2701
2702 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
2703
2704         * Makefile.in (expr.o): Depend on $(TARGET_H).
2705         * target.h (return_in_msb): New target hook.
2706         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2707         (TARGET_CALLS): Include it.
2708         * calls.c (shift_returned_value): New function.
2709         (expand_call): Use it.
2710         * expr.c: Include target.h.
2711         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2712         deciding what padding is needed.  Change the name of the local
2713         padding variable from big_endian_correction to padding_correction.
2714         * stmt.c (shift_return_value): New function.
2715         (expand_return): Use it.  Adjust memory->register copy in the same
2716         way as copy_blkmode_from_reg.  Only change the return register's
2717         mode if it was originally BLKmode.
2718         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2719         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2720         (mips_fpr_return_fields): New, split out from mips_function_value.
2721         (mips_return_in_msb, mips_return_fpr_pair): New functions.
2722         (mips_function_value): Rework to use the functions above.
2723         * config/mips/irix6-libc-compat.c: Delete.
2724         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2725
2726 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2727
2728         * doc/install.texi (--enable-checking): Update valgrind's URL.
2729
2730 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2731
2732         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2733         with -2147483647 - 1.
2734
2735 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
2736
2737         Fix links in online manuals.
2738         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2739         (Precompiled Headers): @pxref to cpp, not cpp.info.
2740
2741 2003-11-16  Jason Merrill  <jason@redhat.com>
2742
2743         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2744         files in each directory and TAGS files that include them for each
2745         front end.
2746
2747 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2748
2749         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2750         3 of S2L.
2751         (modnorm): Likewise.
2752         (exitdiv): Look at bit 3 of S2L only.
2753
2754 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2755
2756         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2757         (DO_GLOBAL_DTORS_BODY): Likewise.
2758
2759 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
2760
2761         * doc/install.texi (Prerequisites): Refine documentation of
2762         autoconf, automake and perl requirements.  Document required
2763         gettext version.
2764
2765 <2003-11-14  Jason Merrill  <jason@redhat.com>
2766
2767         * function.c (assign_parms): Use TREE_TYPE to determine the real
2768         type of the argument object.
2769
2770 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2771
2772         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2773         iteration.
2774
2775 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
2776
2777         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2778           New routine to save vararg registers on stack. Support for
2779           -mpowerpc64 in mixed mode.
2780
2781 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
2782
2783         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2784         for MOTOROLA versus MIT syntax.  Improves readability and provides
2785         better compile-time error checking for both code paths.
2786
2787 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
2788
2789         * config/frv/frv-protos.h: Update for C90.
2790         * config/frv/frv.h: Likewise.
2791         * config/frv/frvbegin.c: Likewise.
2792         * config/frv/frv.c: Likewise.
2793         (frv_adjust_field_align): Delete unused variable.
2794
2795 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
2796
2797         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2798         to each place where TARGET_LONG_DOUBLE_128 is used with
2799         DEFAULT_ABI == ABI_AIX.
2800
2801         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2802         message comply with GNU standards.
2803
2804 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2805
2806         PR/6552
2807         * function.c (struct epi_info): New field const_equiv.
2808         (update_epilogue_consts): New function.
2809         (keep_stack_depressed): Clear new field and verify scratch register
2810         doesn't have it set.
2811         Call new function via note_stores.
2812         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2813         Allow PLUS where second operand is register known set to constant.
2814         (emit_equiv_load): Write load using proper mode if source different.
2815         * config/mips/mips.md (return_internal): Put (return) first.
2816
2817 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2818
2819         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2820
2821 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2822
2823         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2824         registers.
2825         (divsi3): Likewise.
2826         (reti): Don't restore unused registers.
2827
2828 2003-11-14  Nick Clifton  <nickc@redhat.com>
2829
2830         * config/fr30/fr30.c: Include toplev.h
2831
2832 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2833
2834         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2835
2836 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2837
2838         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2839         function definition syntax.
2840
2841 2003-11-14  Eric Christopher  <echristo@redhat.com>
2842
2843         * reload1.c (reload): Revert previous patch. Make
2844         check for assignment into reg_equiv_address stricter.
2845
2846 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
2847
2848         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2849
2850 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
2851
2852         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2853         section names.
2854
2855 2003-11-14  Jason Merrill  <jason@redhat.com>
2856
2857         PR middle-end/12526
2858         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2859         * calls.c (call_expr_flags): New fn.
2860         * tree.h: Declare it.
2861
2862 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2863
2864         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2865         (divmodsi3): Change the name to ___udivsi3.
2866         Update all callers.
2867
2868 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2869
2870         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2871         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2872         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2873         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2874         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2875         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2876         Const-ify and/or initialize automatic variables at declaration.
2877
2878 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2879
2880         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2881         of er4 with er3.  Adjust all callers.
2882
2883 2003-11-13  Andrew Pinski <apinski@apple.com>
2884
2885         * config/darwin.c (machopic_output_possible_stub_label):
2886         Allow stub symbol be not defined when outputting possible
2887         stub label.
2888
2889 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2890
2891         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2892         instead of exitdiv.
2893         (___umodsi3): Likewise.
2894         (exitdiv): Do not restore any register.
2895         (reti): Restore registers.
2896
2897 2003-11-13  Steven Bosscher  <stevenb@suse.de>
2898
2899         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2900
2901 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2902
2903         * config/h8300/lib1funcs.asm: Fix comment typos.
2904
2905 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2906
2907         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2908         unused registers.  Don't jump to exitdiv.
2909         (umodsi3): Likewise.
2910
2911 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
2912             Kean Johnston <jkj@sco.com>
2913
2914         PR c/13029
2915         * toplev.c (check_global_declarations): Do not warn about unused
2916         static consts.
2917
2918 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
2919             Kazu Hirata  <kazu@cs.umass.edu>
2920
2921         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2922         the approximate quotient method.
2923
2924 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
2925
2926         * combine.c (distribute_notes): When re-distributing the notes from
2927         an insn we are about to delete, ensure we can't end up with a cyclic
2928         list of notes.
2929
2930 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2931
2932         PR optimization/12926
2933         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2934         the UNCHANGING_RTX_P flag on memory references to read-only
2935         components that are not addressable.
2936
2937 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2938
2939         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2940         DenHighNonZero.
2941
2942 2003-11-13  Jan Hubicka  <jh@suse.cz>
2943
2944         PR opt/12275
2945         * c-decl.c (finish_decl): Use change_decl_assembler_name.
2946         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2947         * varasm.c (make_decl_rtl): Likewise.
2948         * cgraph.c (change_decl_assembler_name): New function.
2949         * tree.h (set_decl_assembler_name): Kill dead declaration.
2950         (change_decl_assembler_name): Declare.
2951
2952         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2953         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2954
2955 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2956
2957         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2958         an unused register.
2959
2960 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
2961
2962         PR bootstrap/12752
2963         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2964         (MULTILIB_OSDIRNAMES): Reorder accordingly.
2965
2966 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
2967
2968         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2969         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
2970         (rs6000_emit_eh_reg_restore): Add
2971         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2972         of vars_size and total_size to HOST_WIDE_INT.
2973         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2974         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2975         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2976         values.
2977         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2978         (rs6000_initial_elimination_offset): New, with code formerly in
2979         INITIAL_ELIMINATION_OFFSET.
2980         * rs6000.h (rs6000_stack_t): Remove.
2981         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2982         rs6000_initial_elimination_offset.
2983         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2984         rs6000_emit_eh_reg_restore.
2985
2986 2003-11-12  Mike Stump  <mrs@apple.com>
2987
2988         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2989         is the argumnt we are processing so that warnings and errors
2990         will have that information.
2991         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2992         * lang-hooks-def.h
2993         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2994         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2995         * langhooks.h (convert_parm_for_inlining): Likewise.
2996         * tree-inline.c (initialize_inlined_parameters): Compute and
2997         pass argnum down.
2998
2999 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
3000             Roger Sayle  <roger@eyesopen.com>
3001
3002         PR optimization/12953
3003         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
3004         before switch by FUNCTION_CODE.
3005
3006 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
3007
3008         * arm.md (storehi): Avoid use of explicit subreg.
3009         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
3010
3011 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
3012
3013         * config/sh/sh.md (prefetch): New pattern.
3014
3015 2003-11-11  Eric Christopher  <echristo@redhat.com>
3016
3017         * reload1.c (reload): Verify that addresses for
3018         reg_equiv_* are valid for the architecture.
3019
3020 2003-11-11  Eric Christopher  <echristo@redhat.com>
3021
3022         * function.c (purge_addressof_1): Add libcall check.
3023         Remove test for cached replacements on fallback case.
3024         Simplify mode comparisons. Add libcall test for
3025         paradoxical subregs.
3026
3027 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
3028
3029         * config/h8300/t-h8300: Fix an obsolete comment.
3030
3031 2003-11-11  James E Wilson  <wilson@specifixinc.com>
3032
3033         * expmed.c (store_bit_field, extract_bit_field): Revert last two
3034         changes.
3035
3036 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
3037
3038         * config/h8300/lib1funcs.asm: Replace DenHighZero with
3039         DenHighNonZero.
3040
3041 2003-11-11  Jan Hubicka  <jh@suse.cz>
3042
3043         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
3044         really_no_inline.
3045
3046 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3047
3048         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
3049         generating 64-bit code.
3050
3051 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
3052
3053         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
3054         accidental commit in previous change.
3055
3056 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
3057
3058         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
3059         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
3060         address recognition.
3061         (macho_lo_sum_memory_operand): Routine to recognize macho-style
3062         address recognition.
3063
3064 2003-11-10  Richard Henderson  <rth@redhat.com>
3065
3066         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
3067
3068 2003-11-10  Matt Austern  <austern@apple.com>
3069
3070         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
3071         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
3072         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
3073         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
3074         darwin_assemble_visibility instead of default.
3075
3076 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
3077
3078         PR target/12865
3079         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
3080         __enable_execute_stack only after writing onto the stack.
3081         (sparc64_initialize_trampoline): Likewise.
3082
3083 2003-11-09  Roger Sayle  <roger@eyesopen.com>
3084
3085         * loop.c (check_dbra_loop): Try swapping the comparison operands
3086         of the loop condition to identify a suitable induction variable.
3087         * unroll.c (loop_iterations): Likewise.
3088
3089 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3090
3091         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
3092         sparc64 #cpu and #machine assertions.
3093
3094 2003-11-09  Richard Henderson  <rth@redhat.com>
3095
3096         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
3097
3098 2003-11-09  Jan Hubicka  <jh@suse.cz>
3099
3100         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
3101
3102         * cgraphunit.c (cgraph_expand_function): Use
3103         cgraph_possibly_inlined_p.
3104         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
3105
3106         * opts.c (common_handle_option): Do not set max-inline-insns.
3107         * params.def: Update comments.
3108         (PARAM_MAX_INLINE_INSNS): Kill.
3109         * invoke.texi (max-inline-insns): Kill.
3110
3111 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3112
3113         PR c/3190
3114         PR c/8714
3115         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
3116         * invoke.texi: Update.
3117
3118 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3119
3120         PR optimization/12630
3121         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
3122         Handle length computation 64-bit moves.
3123         (compute_clrstr_length, output_block_clear): Implement block clear.
3124         (output_block_move): Handle 64-bit moves.
3125         (pa_adjust_insn_length): Use compute_movstr_length and
3126         compute_clrstr_length.
3127         * pa.md (movstrsi): Revise operand order and comments.  Don't use
3128         match_scratch.
3129         (movstrsi_internal): Delete.
3130         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
3131         and peephole2 patterns to transform prereload to postreload form.
3132         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
3133         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
3134         clrstrdi_postreload): New patterns for 64-bit block move, and block
3135         clear.
3136         * pa-protos.h (output_block_clear): New prototype.
3137
3138 2003-11-08  Andreas Schwab  <schwab@suse.de>
3139
3140         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
3141         XCOFF_DEBUGGING_INFO.
3142
3143 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3144
3145         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
3146
3147 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
3148
3149         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
3150         redundant parens.
3151
3152         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
3153         (find_file_in_dir): Likewise.
3154         (_cpp_find_file): Print message if no header file is found
3155         but an invalid PCH file was.
3156
3157 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3158
3159         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
3160         expressions as lvalues.
3161         (internal_build_compound_expr): Remove special handling for
3162         non-pedantic case.
3163         * doc/extend.texi: Document that all extended lvalues are now
3164         deprecated.
3165
3166 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
3167
3168         PR 11654
3169         * dbxout.c (struct dbx_file): Do not save for PCH.
3170         (current_file): Likewise.
3171         (dbxout_init): Don't allocate struct dbx_file using GC.
3172         (dbxout_start_source_file): Likewise.
3173
3174 2003-11-07  Falk Hueffner  <falk@debian.org>
3175
3176         * config/alpha/elf.h, config/alpha/unicosmk.h,
3177         config/alpha/vms.h: Convert to ISO C90.
3178
3179 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
3180
3181         * config/arm/pe.h: Convert to ISO C90.
3182
3183 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
3184
3185         * sh-protos.h (sh_pch_valid_p): Declare.
3186         * sh.c ("intl.h"): Include.
3187         (TARGET_PCH_VALID_P): Override.
3188         (sh_target_switches): New variable.
3189         (target_switches): Define.
3190         (sh_pch_valid_p): New function.
3191
3192         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
3193
3194 2003-11-07  Jan Hubicka  <jh@suse.cz>
3195
3196         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
3197         (x86_64_zero_extended_value):  likewise.
3198
3199 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
3200
3201         * config/mips/mips.md (loadgp): Take $25 as a second operand.
3202         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
3203
3204 2003-11-06  Matt Austern <austern@apple.com>
3205
3206         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
3207         field instead of hanging an attribute object off the decl.
3208         * tree.h (DECL_VISIBLITY): New accessor macro for
3209         symbol_visibility field in struct tree_decl.
3210         (enum symbol_visibility): Move definition to before tree_decl.
3211         (struct tree_decl): Define new two-bit field, symbol_visibility.
3212         (decl_visibility): Remove declaration.
3213         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
3214         instead of decl_visibility.
3215         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
3216         decl_visibility.
3217         (decl_visibility): Remove.
3218
3219 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3220
3221         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
3222         where register 14 will be saved.
3223
3224 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
3225
3226         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
3227         (USE_ALTIVEC_FOR_ARG_P): Likewise.
3228         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
3229         Take a pointer as the CUM parameter.  Update callers.
3230         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
3231         32-bit ABIs.
3232         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
3233         of vector parameters as named arguments of stdarg function.
3234         (function_arg): Likewise.
3235
3236         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
3237         -maltivec is specified, not the non-existent -faltivec.
3238
3239 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3240
3241         * config/s390/s390-protos.h (s390_function_value): Declare.
3242         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
3243         (s390_return_in_memory): New function.
3244         (s390_function_value): New function.
3245         (s390_function_arg_float): Return false for all arguments larger
3246         than 8 bytes.
3247         (s390_function_arg_pass_by_reference): Likewise.  Return true for
3248         all vector arguments.
3249         (s390_function_arg_integer): New function.
3250         (s390_function_arg_advance): Call it.  Add sanity checks.
3251         (s390_function_arg): Likewise.
3252         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
3253         (LIBCALL_VALUE): Likewise.
3254         (RET_REG): Remove.
3255         (RETURN_IN_MEMORY): Remove.
3256
3257 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
3258
3259         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
3260         return type to HOST_WIDE_INT.
3261         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
3262         Make initialized a bool.  Make register masks unsigned ints.
3263         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
3264         where appropriate.
3265         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
3266         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
3267
3268 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
3269
3270         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
3271         negation.
3272
3273 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
3274
3275         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
3276
3277 2003-11-06  Momchil Velikov  <velco@fadata.bg>
3278
3279         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
3280         for VR4111 too.
3281
3282 2003-11-06  Jan Hubicka  <jh@suse.cz>
3283
3284         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
3285         missing casts.
3286
3287 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
3288
3289         * genmodes.c: Change the word "bitsize" to "precision" throughout.
3290         * machmode.def: Likewise.
3291         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
3292         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
3293         (GET_MODE_PRECISION): New macro.
3294         (mode_bitsize): Renamed mode_precision.
3295         * stor-layout.c (mode_for_size, smallest_mode_for_size):
3296         Use GET_MODE_PRECISION; clarify comments.
3297
3298 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3299
3300         * doc/install-old.texi: Remove old documentation of building
3301         cross-compilers.
3302         * doc/install.texi: Move some of it to here.
3303
3304 2003-11-05  Per Bothner  <pbothner@apple.com>
3305
3306         PR preprocessor/12891
3307         * c-opts.c (finish_options):  Set include_cursor to disable premature
3308         calls to push_command_line_include from cpp_scan_nooutput.
3309         Fixes bug reported by DJ Delorie.
3310
3311 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
3312
3313         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
3314         code supporting old-style varargs.
3315
3316         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
3317         an intermediate register for better optimisation.
3318
3319 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3320
3321         PR optimization/10080
3322         * cfgloopanal.c (variable_initial_value, variable_initial_values,
3323         simple_loop_exit_p): Record the fact that initial value is extended
3324         from inner mode.
3325         (count_strange_loop_iterations, count_loop_iterations): Handle
3326         ivs that iterate in a narrower mode. Fix handling of overflows.
3327         Improve handling of NE conditions.
3328         (inverse, fits_in_mode_p): New static functions.
3329         (simple_increment): Detect variables that iterate in a narrower mode.
3330         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
3331
3332 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
3333
3334         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
3335         error.
3336
3337         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
3338         needs VRSAVE.
3339
3340 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3341
3342         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
3343         conditional expressions as lvalues.
3344
3345 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
3346
3347         * tsystem.h: Add the prototype of strlen.
3348         * unwind-pe.h (read_encoded_value_with_base): Add an
3349         appropriate cast to handle a case where the pointer size is
3350         smaller than sizeof (int).
3351
3352 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
3353
3354         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
3355         (mips_delegitimize_address): Delete.
3356         (mips_gotoff_global, mips_load_got_page): Declare.
3357         (mips_load_got_global, mips_rewrite_small_data): Declare.
3358
3359         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
3360         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
3361         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
3362         small_data_pattern.  Remove CONST from const_arith_operand's entry.
3363
3364         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
3365         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
3366         (mips_constant_type): Delete.
3367         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
3368         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
3369         (NUM_SYMBOL_TYPES): New macro.
3370         (mips_address_type): Remove ADDRESS_INVALID.
3371         (machine_function): Add has_gp_insn_p.
3372         (mips_constant_info): Delete.
3373         (mips_address_info): Add the address type as an extra field.  Replace
3374         the c field with symbol_type.
3375         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
3376         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
3377         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
3378         (mips_split_const, mips_symbolic_constant_p): New functions.
3379         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
3380         (mips_classify_address): Return true if the address is valid, storing
3381         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
3382         to test whether a LO_SUM address is allowed.
3383         (mips_symbol_insns): Return 0 for general mips16 symbols.
3384         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
3385         Handle the new SYMBOL_GOTOFF_*s.
3386         (mips_address_insns): Update call to mips_classify_address.
3387         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
3388         of mips_classify_constant.  Be more accurate about CONSTs.
3389         (mips_global_pic_constant_p): Delete.
3390         (const_arith_operand): Only accept CONST_INTs.
3391         (call_insn_operand): Remove call to mips_classify_constant.
3392         Let mips_symbolic_constant_p check for invalid offsets.
3393         (move_operand): Check for general_operands first.  Only accept symbolic
3394         constants if they satisfy mips_symbolic_constant_p and cannot be split.
3395         (symbolic_constant): Use mips_symbolic_constant_p.
3396         (global_got_operand, local_got_operand): New predicates.
3397         (stack_operand): Update call to mips_classify_address.
3398         (mips_legitimate_address_p): Likewise.
3399         (mips_reloc, mips_lui_reloc): Delete.
3400         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
3401         Use emit_move_insn.
3402         (mips_split_symbol, mips_unspec_address): New functions.
3403         (mips_unspec_offset_high): New function.
3404         (mips_load_got): Replace reloc argument with a symbol_type.
3405         Use mips_unspec_address to create the address and put it in a
3406         LO_SUM with the base register.
3407         (mips_load_got16, mips_load_got32): Delete.
3408         (mips_emit_high, mips_legitimize_symbol): Delete.
3409         (mips_gotoff_global): New function.
3410         (mips_load_got_page, mips_load_got_global): New functions.
3411         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
3412         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
3413         Inline code to handle constants plus invalid offsets.  Use
3414         mips_split_symbol to legitimize constant pool addresses.
3415         (mips_delegitimize_address): Delete.
3416         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
3417         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
3418         (mips_subword): Pass memrefs through mips_rewrite_small_data.
3419         (mips_output_move): Remove use of mips_classify_constant.
3420         (mips_expand_call): Use mips_unspec_offset_high to calculate the
3421         high part of the GOT address for calls to global functions.
3422         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
3423         and mips_hi_relocs[].
3424         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
3425         Remove use of mips_classify_constant.
3426         (mips_reloc_string): Delete.
3427         (print_operand_reloc): New function.
3428         (print_operand_address): Update call to mips_classify_address.
3429         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
3430         (small_data_pattern): New predicate.
3431         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
3432         (mips_function_has_gp_insn): New function.
3433         (mips_global_pointer): Use it.
3434         (mips_gp_insn): Delete.
3435         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
3436         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
3437         from the start of the current function.
3438         (mips16_gp_pseudo_reg): Revert last patch.
3439
3440         * config/mips/mips.md (RELOC_*): Delete.
3441         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
3442         (got): New insn attribute.
3443         (type): Set to "load" if got == load.
3444         (length): Set to 4 if got == load, 8 if got == xgot_high.
3445         (lui[sd]i): Delete.
3446         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
3447         (*got_disp[sd]i, *got_page[sd]i): Likewise.
3448         (*low[sd]i): Change constraints to "d".  Add a new define_split to
3449         rewrite small data constants into LO_SUMs.
3450         (loadgp): New insns.
3451
3452 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3453
3454         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
3455
3456 2003-11-04  DJ Delorie  <dj@redhat.com>
3457
3458         * config/v850/v850.md (mulhisi3): Expand the const_int case
3459         separately to avoid trying to sign extend the const.
3460
3461 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
3462
3463         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
3464         addresses to be shared.
3465         (force_const_mem): Return a copy of the pool entry.
3466
3467 2003-11-03  Andreas Jaeger  <aj@suse.de>
3468
3469         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
3470
3471 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
3472
3473         * Makefile.in (cpp.dvi): New target split from cpp.info.
3474         (gcc.dvi):  New target split from gcc.info.
3475         (gccint.dvi): New target split from gccint.info.
3476         (cppinternals.dvi): New target split from cppinternals.info
3477         (gccinstall.info): New specific rule.
3478         (gccinstall.dvi): Likewise.
3479         (dvi): Move targets to $(docobjdir).
3480         ($(docobjdir)/%.dvi): New implicit rule.
3481
3482 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3483
3484         * doc/gty.texi (tag, desc): Say more about role of desc values in
3485         selecting between tags.
3486
3487 2003-11-03  Alexander Kabaev  <ak03@gte.com>
3488
3489         * real.c (encode_ieee_single): Ensure proper promotion.
3490
3491 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3492
3493         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
3494         and Andrew Pinski.
3495
3496 2003-11-03  Syd Polk  <spolk@apple.com>
3497
3498         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
3499         marketing names to the list of supported processors.
3500         * config/rs6000/rs6000.h: Ditto.
3501         * doc/invoke.texi: Ditto.
3502         * config.gcc: Ditto.
3503
3504 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3505
3506         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
3507         Merge two substitutions.
3508         * fixinc/fixincl.x: Regenerate.
3509         Fixes PR bootstrap/12666.
3510
3511 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
3512
3513         * doc/install-old.texi: Remove VMS documentation.
3514
3515 2003-11-03  Jan Hubicka  <jh@suse.cz>
3516
3517         * i386.c (override_options):  Remove hack enabling 128bit long double
3518         commited by accident.
3519
3520 2003-11-02  Per Bothner  <per@bothner.com>
3521
3522         * c-opts.c (needValue):  Do cpp_find_main_file before processing
3523         any imacros flags, so pfile->main_file is set for the latter.
3524
3525 2003-11-03  Andreas Jaeger  <aj@suse.de>
3526             Zack Weinberg  <zack@codesourcery.com>
3527
3528         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3529         (SYSCALLS.c.X-warn): Suppress warnings.
3530
3531 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3532
3533         PR optimization/12845
3534         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3535
3536 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
3537
3538         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3539         * config/i386/i386.c (print_reg): Abort on a virtual register
3540         if code != -1; not if file == asm_out_file.
3541         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3542         (DEBUG_PRINT_REG): Delete, unused.
3543
3544 2003-11-02  Andreas Schwab  <schwab@suse.de>
3545
3546         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3547         empty to avoid conflict with the definition from configure.
3548
3549 2003-11-02  Roger Sayle  <roger@eyesopen.com>
3550
3551         PR optimization/10817
3552         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3553         (noce_try_move): New function to optimize an if-the-else into an
3554         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3555         (noce_process_if_block): Attempt simplification with noce_try_move.
3556
3557         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3558         and improvements to the optimizations of IF_THEN_ELSE expressions.
3559         (simplify_subreg): Silence signed/unsigned comparison warning.
3560
3561 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
3562
3563         * Makefile.in (targhooks.o, reload.o): Update dependencies.
3564         (GTFILES): Add targhooks.c.
3565         (gt-targhooks.h): New rule; depend on s-gtype.
3566         * target.h (direct_pool_load_p): New hook.
3567         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3568         (TARGET_INITIALIZER): Include it.
3569         * targhooks.h (default_direct_pool_load_p): Declare.
3570         (hook_bool_machine_mode_true): Declare.
3571         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3572         gt-targhooks.h.
3573         (pool_symbol): New variable.
3574         (default_direct_pool_load_p): New function.
3575         (hook_bool_machine_mode_true): New function.
3576         * reload.c: Include target.h.
3577         (find_reloads): If an alternative will force a constant into memory,
3578         count an extra reload if constant pool symbols are not valid
3579         addresses.  If an alternative uses memory to move values between
3580         registers, count the move as two reloads rather than one.
3581         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3582         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3583
3584 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3585
3586         PR optimization/12799
3587         * postreload.c (reload_cse_move2add): Generate the add2
3588         patterns manually.
3589
3590 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3591
3592         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3593         Return 0 for all complex modes whose size is lesser or equal to
3594         a word.  Add a ??? comment for the condition used with 16-byte
3595         aligned modes.
3596
3597 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
3598
3599         * .cvsignore: Remove c-parse* and tradcif.c.
3600         * objc/.cvsignore: Delete.
3601
3602 2003-11-01  Roger Sayle  <roger@eyesopen.com>
3603
3604         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3605         of NULL.
3606
3607 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3608
3609         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3610
3611         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3612
3613         * collect2.c (scan_libraries): Fix typos.
3614
3615         PR preprocessor/12847
3616         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3617         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3618         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3619         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3620         "CPP_".
3621
3622 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
3623
3624         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3625         no_units calculation.
3626
3627 2003-11-01  Andreas Jaeger  <aj@suse.de>
3628
3629         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3630         enumeration list.
3631
3632 2003-11-01  Andreas Schwab  <schwab@suse.de>
3633
3634         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3635         prototypes.
3636         (SBSS_SECTION_FUNCTION): Likewise.
3637
3638 2003-11-01  Andreas Jaeger  <aj@suse.de>
3639
3640         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3641
3642 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
3643
3644         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3645         prototypes.
3646
3647 2003-11-01  Andreas Jaeger  <aj@suse.de>
3648
3649         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3650         (uw_frame_state_for): Constify variables.
3651         (extract_cie_info): Constify first argument.
3652
3653         * unwind-dw2-fde-darwin.c: Adjust prototype of
3654         _Unwind_Find_registered_FDE for recent changes.
3655         (examine_objects): Constify return value and local variable result.
3656         (_Unwind_Find_FDE): Constify return value and local variable ret.
3657
3658 2003-10-31  Per Bothner  <pbothner@apple.com>
3659
3660         * c-opts.c (finish_options):  Change to returns boolean - false iff
3661         the call to cpp_find_main_file fails.
3662         (c_common_init):  Skip preprocess_file if finish_options failed.
3663         (c_common_parse_file):  Break if finish_options failed.
3664         Fixes PR preprocessor/12545.
3665
3666 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3667
3668         * aclocal.m4: Blacklist ultrix* for mmap file.
3669         * configure: Rebuilt.
3670
3671         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3672         reg_parm_stack_space.
3673         * toplev.c (default_get_pch_validity): Fix warning.
3674
3675         * vax.c: Include toplev.h.
3676         (vax_init_libfuncs): Fix typo (umod).
3677         * vax.h (ASM_COMMENT_START): Define.
3678         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3679
3680 2003-10-31  Roger Sayle  <roger@eyesopen.com>
3681
3682         PR middle-end/11968
3683         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3684         confusing comment; distributivity isn't handled in expand_expr.
3685         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
3686         in distributivity, if wrap-around semantics are specified with
3687         -fwrapv.
3688
3689 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
3690
3691         PR 12315
3692         * final.c (profile_function): Allow for NULL svrtx.
3693
3694 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3695
3696         * pa.c (pa_select_section): Use new style declaration.
3697         * som.h (readonly_data): Likewise.
3698
3699 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3700
3701         * config/rs6000/rs6000.c: Update to C90 prototypes.
3702
3703 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3704
3705         PR target/7513
3706         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3707         code.
3708
3709 2003-10-31  Andreas Jaeger  <aj@suse.de>,
3710             Zack Weinberg  <zack@codesourcery.com>
3711
3712
3713         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3714         (__deregister_frame_info, __deregister_frame_info_bases):
3715         Constify void * argument.
3716         * unwind-dw2-fde.h (struct fde_vector):
3717         Constify 'orig_data' and 'array' fields.
3718         (__register_frame_info, __register_frame_info_bases)
3719         (__deregister_frame_info, __deregister_frame_info_bases):
3720         Constify void * argument.
3721         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3722         return values, and casts of type fde *, struct dwarf_fde *,
3723         and struct dwarf_cie *.
3724         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3725         (__deregister_frame_info, __deregister_frame_info_bases):
3726         Constify void * argument.
3727         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3728         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3729         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3730         fde_split, SWAP, frame_downheap, frame_heapsort)
3731         (classify_object_over_fdes, add_fdes, linear_search_fdes,
3732         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3733         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3734         Constify arguments, local variables, return values, and casts
3735         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3736         Use const pointer types in sizeof expressions, for clarity.
3737         * unwind-dw2-fde-glibc.c
3738         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3739         (struct unw_eh_callback_data): Constify 'ret' field.
3740
3741 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
3742             David Edelsohn  <edelsohn@gnu.org>
3743
3744         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3745         (function_arg): Call it.
3746         (rs6000_function_value): Widen integral return value to mode based
3747         on TARGET_32BIT, not word_mode.
3748         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3749         (UNITS_PER_ARG): New.
3750         (RS6000_ARG_SIZE): Use it.
3751
3752 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
3753
3754         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3755         and gengtype-yacc.h.
3756
3757 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3758
3759         PR optimization/8896
3760         * postreload.c (reload_combine): Check that REGY doesn't die in an
3761         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3762
3763 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3764
3765         PR/10239
3766         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3767
3768 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3769
3770         PR/11640
3771         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3772         immediatelly before BARRIER.
3773
3774 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3775
3776         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3777
3778 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3779
3780         PR target/11271
3781         * reload.c (find_reloads_address): Handle any register in
3782         (PLUS (PLUS (REG) (REG)) (CONST_INT).
3783
3784 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3785
3786         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3787         ENABLE_GC_CHECKING not in GGC_POISON.
3788
3789 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3790
3791         PR bootstrap/9863
3792         * configure.in: Bail out if awk is missing.
3793         * configure: Regenerate.
3794
3795         PR ada/12761
3796         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3797         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3798
3799 2003-10-30  Richard Henderson  <rth@redhat.com>
3800
3801         * c-objc-common.c (c_tree_printer): Handle types correctly.
3802         Factor code a bit.
3803
3804 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3805
3806         * value-prof.c, web.c: Update to C90.
3807
3808 2003-10-30  Eric Christopher  <echristo@redhat.com>
3809
3810         * function.c (purge_addressof_1): Add case for REG_RETVAL
3811         notes when modes are unequal.
3812
3813 2003-10-31  Jan Hubicka  <jh@suse.cz>
3814
3815         * i386-modes.def: Add XFmode format adjustment.
3816
3817 2003-10-30  Jan Hubicka  <jh@suse.cz>
3818
3819         * real.c (encode_ieee_extended): Back out previous patch.
3820
3821 2003-10-30  Jan Hubicka  <jh@suse.cz>
3822
3823         * real.c (encode_ieee_extended): Initialize whole array.
3824         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3825         * i386-modes.def: Change definitions of TFmode and XFmode.
3826         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3827         code.
3828         (construct_container): Allow constructing of TFmode integer containers.
3829         (ix86_return_in_memory):  XFmode is not returned in memory.
3830         (init_ext_80387_constants): Always use XFmode.
3831         (print_operand): Likewise.
3832         (ix86_prepare_fp_compare_regs): Likewise.
3833         (split_to_parts): Deal with TFmode.
3834         (split_long_move): Simplify.
3835         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3836         (ix86_memory_move_cost): Do not confuse TFmode.
3837         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3838         (IS_STACK_MODE): TFmode is not stack mode.
3839         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3840         (VALID_SSE_REG_MODE): Allow TFmode.
3841         (VALID_FP_MODE_P): Disallow TFmode.
3842         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3843         * i386.md (TFmode patterns): Kill.
3844         (movtf, motf_rex64): New patterns.
3845
3846 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3847
3848         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3849
3850 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3851
3852         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3853         (mov_lwr, mov_swl, mov_swr): Likewise.
3854         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3855
3856 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3857
3858         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3859
3860 2003-10-30  Richard Henderson  <rth@redhat.com>
3861
3862         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3863         test for irix6 rather than preprocessor test.
3864
3865 2003-10-30  Richard Henderson  <rth@redhat.com>
3866
3867         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3868
3869 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
3870
3871         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3872         as a general flag that the return address register needs to be saved,
3873         not necessarily because of __builtin_return_addr (0).
3874         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3875         remove special handling of zSeries machines.
3876         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3877         register as a regular register on zSeries machines.
3878         (s390_reorg): Adjust calls to s390_split_branches and
3879         s390_optimize_prolog.
3880         (s390_frame_info): On zSeries machines, do not assume the return
3881         register is always used.  Update regs_ever_live with current data
3882         for the special registers.
3883         (s390_emit_epilogue): Use save_return_addr_p to determine whether
3884         the return register was saved.
3885         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3886         RETURN_REGNUM fixed on zSeries machines.
3887         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3888         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3889         via ahi-jgne pair on zSeries machines.
3890         ("*doloop_di"): Likewise.
3891         ("*doloop_di_long"): Remove.
3892
3893 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
3894
3895         * arm.c (arm_override_options): Revert change of arm_constant_limit
3896         when optimizing for size.
3897
3898 2003-10-29  Richard Henderson  <rth@redhat.com>
3899
3900         * fold-const.c (fold_single_bit_test): Convert the input to the
3901         operational intermediate type.
3902
3903 2003-10-29  Richard Henderson  <rth@redhat.com>
3904
3905         * builtins.c (std_build_builtin_va_list): New.
3906         * expr.h (std_build_builtin_va_list): Declare.
3907         * defaults.h (BUILD_VA_LIST_TYPE): New.
3908         * system.h (BUILD_VA_LIST_TYPE): Poison.
3909         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3910         * target.h (struct gcc_target): Add build_builtin_va_list.
3911         * tree.c (build_common_tree_nodes_2): Use it.
3912
3913         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3914         config/alpha/alpha.h, config/alpha/unicosmk.h,
3915         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3916         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3917         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3918         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3919         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3920         config/mips/mips.h, config/rs6000/rs6000-protos.h,
3921         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3922         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3923         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3924         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3925         config/xtensa/xtensa.h: Rename foo_build_va_list to
3926         foo_build_builtin_va_list; make it static.  Define
3927         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
3928         Update protos.
3929
3930         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3931         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3932
3933 2003-10-29  James E Wilson  <wilson@specifixinc.com>
3934
3935         * recog.c (asm_operand_ok): Add missing break after case 'X'.
3936         Change if statements to else if statements in default case.
3937         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3938         in comment.
3939         (constrain_operands_cached): Likewise.
3940         (constrain_operands): Change if statements to else if statements in
3941         default case.
3942         * reload.c (find_reloads): Likewise.
3943
3944 2003-10-29  Richard Henderson  <rth@redhat.com>
3945
3946         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3947         shifts and rotates.
3948
3949 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
3950
3951         * config/rs6000/rs6000.md: Remove duplicate pattern.
3952
3953 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
3954
3955         * real.c (do_divide): Initialize result with a 0.
3956
3957         * configure.in <enable-checking for valgrind>: Look for
3958         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3959         if it exists.
3960         * configure, config.in: Regenerate.
3961         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3962         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
3963         #elif for other alternatives.
3964         * ggc-page.c: Ditto.
3965         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3966         include structure from ggc-common.c.
3967
3968 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3969
3970         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3971         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3972         * pa.c (pa_adjust_insn_length): Check for btable branches using
3973         attribute TYPE_BTABLE_BRANCH.
3974         (pa_reorg): Simplify.
3975         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3976         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3977         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3978         * pa.md (btable_branch): New instruction type.
3979         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3980         btable branches.
3981         (define_delay): Add btable branches to insn types that may have an
3982         insn in the delay position.
3983         (Z2, Z3): Add btable branch to list.
3984         Simplify unamed pattern set copy pic_label_operand to register.  Add
3985         PA 2.0 variant.
3986         (short_jump): New jump for use in branch tables.
3987         (casesi, casesi0): Revise for new branch table formats.
3988         (casesi32, casesi32p, casesi64p): New casesi patterns.
3989         (indirect_jump): Move.
3990
3991 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
3992
3993         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3994         !TARGET_POWERPC64.
3995         (UNITS_PER_GPR_WORD): Delete.
3996         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3997         (HARD_REGNO_MODE_OK): Same.
3998         (CLASS_MAX_NREGS): Same.
3999
4000 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4001
4002         * pa.h (ASM_COMMENT_START): Define.
4003
4004 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
4005
4006         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
4007         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
4008         component, not zero.
4009
4010 2003-10-29  Andreas Schwab  <schwab@suse.de>
4011
4012         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
4013
4014 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
4015
4016         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
4017         Never return 1 for complex integral modes whose size is lesser or
4018         equal to a word.
4019         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
4020         in the comment.
4021         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
4022         modes.
4023         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
4024         greater than 16 bytes by reference.
4025
4026 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4027
4028         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
4029         not TARGET_ILP32.
4030         (ia64_initialize_trampoline): Use globalize_label target call.
4031
4032 2003-10-29  Andreas Schwab  <schwab@suse.de>
4033
4034         * doc/install.texi (Building): Add a sentence about building Ada
4035         for a canadian cross.
4036
4037 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
4038
4039         * config/ia64/ia64.c (cmptf_libfunc): New static.
4040         (ia64_expand_compare): Add logic to open-code calls to
4041         _U_Qfcmp for TFmode comparisons.
4042         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
4043         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
4044         never be generated anymore.
4045         * config/ia64/ia64.md (cmptf): New expander.
4046
4047 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
4048
4049         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
4050         (*sqrt_approx): New instruction pattern for approximate square roots.
4051         (*setf_exp_xf): New instruction pattern for exponentiation.
4052         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
4053         (sqrtsf2_internal_thr): New define_and_split implementing
4054         throughput-optimized inline calculation of SFmode square root.
4055         (sqrtdf2_internal_thr): Likewise for DFmode.
4056         (sqrtxf2_internal_thr): Likewise for XFmode.
4057         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
4058         latency- and throughput-optimized square root algorithms.
4059         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
4060         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
4061         New macros.
4062         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
4063         -minline-sqrt-max-throughput.
4064         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
4065         and -minline-sqrt-max-throughput are given, notify the user
4066         that both options cannot be used simultaneously.
4067         If -minline-sqrt-min-latency is given, notify the user that
4068         this mode is not yet implemented.
4069         (rtx_needs_barrier): Reformat initial comment to obey
4070         72-character width limit.  Support UNSPEC_SETF_EXP and
4071         UNSPEC_FR_SQRT_RECIP_APPROX.
4072
4073 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
4074
4075         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
4076         moves.
4077
4078 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4079
4080         PR target/11598
4081         PR libgcj/10610
4082         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
4083
4084 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
4085
4086         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
4087         an extra stack adjustment insn if the stack pointer is already
4088         pointing at the right place.
4089         (use_return_insn): Allow a return insn to be used when we have a
4090         frame pointer if the stack pointer is in the right place.
4091         (output_return_instruction): Handle it.
4092
4093 2003-10-28  Andreas Jaeger  <aj@suse.de>
4094
4095         * ggc-zone.c (check_cookies): Add missing variable.
4096         Add void to prototypes.
4097
4098 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4099
4100         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
4101         * crtstuff.c (__do_global_ctors_1): Move prototype.
4102         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
4103         appropriate.
4104         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
4105         Mark parameter with __attribute__((unused)).
4106
4107 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
4108
4109         * c-decl.c (pushdecl): Clarify comment.
4110
4111 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
4112
4113         * doc/install.texi: Update instructions for Ada cross builds
4114
4115         PR ada/5909:
4116         * doc/sourcebuild.texi: Document Ada test suite.
4117
4118 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
4119
4120         * config/m68hc11/m68hc11.c: Convert to ISO C90.
4121         * config/m68hc11/m68hc11-protos.h: Likewise.
4122
4123 2003-10-27  Jan Hubicka  <jh@suse.cz>
4124             Eric Botcazou  <ebotcazou@libertysurf.fr>
4125
4126         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
4127         webizer pass dump.
4128
4129 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
4130             Jan Hubicka  <jh@suse.cz>
4131
4132         * reload1.c (struct elim_table): Change offset, initial_offset and
4133         previous_offset fields to HOST_WIDE_INT.
4134         (offsets_at): Change from int to HOST_WIDE_INT.
4135         (reload): Adjust offsets_at initialization.
4136         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
4137         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
4138         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
4139         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
4140         if TARGET_64BIT.
4141         (pro_epilogue_adjust_stack): New function.
4142         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
4143         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
4144         (pro_epilogue_adjust_stack_1): Remove * in front of name.
4145         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
4146         (pro_epilogue_adjust_stack_rex64_2): New insn.
4147
4148         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
4149
4150         * config/i386/i386.c (ix86_expand_call): Replace 40 with
4151         FIRST_REX_INT_REG + 3 /* R11 */.
4152
4153 2003-10-26  Richard Henderson  <rth@redhat.com>
4154
4155         * config/alpha/alpha.md (attr cannot_copy): New.
4156         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
4157         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
4158         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
4159
4160 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
4161
4162         * ggc-zone.c:  New file, zone allocating collector.
4163         * configure: Accept zone option for --with-gc
4164         * configure.in: Ditto.
4165         * ggc.h (ggc_pch_count_object): Pass bool indicating
4166         stringiness. Update all callers.
4167         (ggc_pch_alloc_object): Ditto.
4168         (ggc_pch_write_object): Ditto.
4169         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
4170         type.
4171         (ggc_alloc_rtvec): Ditto.
4172         (ggc_alloc_tree): Use zone allocation, since some things using this macro
4173         aren't a single typecode.
4174         * ggc-none.c (ggc_alloc_typed): New function.
4175         (ggc_alloc_zone): Ditto.
4176         * ggc-page.c: Ditto on both functions.
4177
4178 2003-10-26  Gunther Nikl  <gni@gecko.de>
4179
4180         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
4181         frame information is always valid.
4182         (m68k_output_function_prologue): Remove superfluous TARGET_68881
4183         test; fix formatting.
4184
4185 2003-10-26  Gunther Nikl  <gni@gecko.de>
4186
4187         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
4188         reg_rev_mask computation.
4189         (m68k_output_function_prologue): Fix usage of current_frame (one typo
4190         and one missing); use reg_rev_mask not reg_mask.
4191         (m68k_output_function_epilogue): Fix usage of current_frame;
4192         use fpu_rev_mask not fpu_mask.
4193
4194 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
4195
4196         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
4197         num_saved_regs, use current_frame.reg_no instead.
4198
4199 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
4200             Paul Dale  <pauli@snapgear.com>
4201
4202         * doc/extend.texi (interrupt_handler): Add m68k to the
4203         list of processors implementing it.
4204         * doc/invoke.texi (-msep-data): Document new m68k option.
4205         (-mno-sep-data): Likewise.
4206         (-mid-shared-library): Likewise.
4207         (-mno-id-shared-library): Likewise.
4208         (-mshared-library-id): Likewise.
4209
4210 2003-10-26  Andreas Jaeger  <aj@suse.de>
4211
4212         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
4213         comparison.
4214         (_Unwind_SetGR): Likewise.
4215
4216 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
4217
4218         PR target/12690
4219         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
4220
4221 2003-10-26  Gunther Nikl  <gni@gecko.de>
4222
4223         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
4224         comment from here to...
4225         (m68k_save_reg): ...here. Fix comment formatting.
4226         (m68k_output_function_prologue): Fix comment formatting.
4227         (m68k_output_function_epilogue): Likewise.
4228         (const_method): Likewise.
4229
4230 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
4231
4232         * toplev.c (default_get_pch_validity): Guard the use of
4233         target_options with #ifdef TARGET_OPTIONS.
4234         (default_pch_valid_p): Likewise.
4235
4236 2003-10-26  Andreas Jaeger  <aj@suse.de>
4237             Zack Weinberg  <zack@codesourcery.com>
4238             Andreas Tobler <toa@pop.agri.ch>
4239
4240         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
4241         (output_die): Likewise.
4242         (print_die): Likewise.
4243
4244 2003-10-26  Andreas Jaeger  <aj@suse.de>
4245
4246         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
4247         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
4248         dwarf2out.c change.
4249
4250         * toplev.c (default_pch_valid_p): Fix warning.
4251
4252 2003-10-25  Roger Sayle  <roger@eyesopen.com>
4253
4254         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
4255         RTL nodes.  If an operator's operands are unchanged, return the
4256         original argument unchanged.
4257
4258 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
4259
4260         Fix bootstrap failure.
4261         * expmed.c (store_bit_field): Don't compare bitsize against
4262         modes with zero bit-size.
4263
4264         (extract_bit_field): Likewise
4265
4266 2003-10-25  Jan Hubicka  <jh@suse.cz>
4267
4268         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
4269         (cfa_loc): Likewise.
4270         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
4271         HOST_WIDE_INT.
4272         (args_size, old_args_size): change type to HOST_WIDE_INT.
4273         (dwarf2out_def_cfa, dwarf2out_args_size,
4274         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
4275         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
4276         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
4277         AT_offset): Use HOST_WIDE_INT.
4278         (based_loc_descr): offset is HOST_WIDE_INT.
4279         (add_data_member): Likewise.
4280         (add_const_value_attribute): Simplify.
4281
4282 2003-10-25  Richard Henderson  <rth@redhat.com>
4283
4284         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
4285         (ix86_expand_prologue): Save and restore eax around stack probe
4286         if it's live.
4287
4288 2003-10-25  Jan Hubicka  <jh@suse.cz>
4289
4290         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
4291
4292 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
4293
4294         PR target/12712
4295         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
4296         if the block has no predecessors.
4297         (convert_regs_2): Document the problem with successors whose
4298         only predecessor is the block to be processed.
4299         (convert_regs): Don't create the arbitrary input stack here.
4300
4301 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
4302
4303         * genmodes.c (struct mode_data): Add contained and next_cont
4304         fields.
4305         (complete_mode): Maintain linked list of modes that have a
4306         given component.
4307         (emit_mode_unit_size): Delete.
4308         (emit_mode_nunits): New.
4309         (emit_insn_modes_c): Update to match.
4310         (emit_mode_adjustments): Propagate size and alignment
4311         adjustments from component modes to their containers.
4312         * machmode.h (mode_unit_size): Delete.
4313         (mode_nunits): New.
4314         (GET_MODE_NUNITS): Just return the value in the table.
4315         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
4316         GET_MODE_SIZE.
4317         * expmed.c (store_bit_field, extract_bit_field): Can use a
4318         plain move instruction if bitsize >= GET_MODE_BITSIZE of
4319         destination/source mode, respectively.
4320         * varasm.c (assemble_real): Write out the full size of the
4321         constant, not just its bitsize.
4322         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
4323
4324         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
4325         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
4326         alignment of XF and TF modes in compliance with ia64 ABIs.
4327         Can now hardwire the format of both modes.
4328         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
4329         (general_tfmode_operand, destination_tfmode_operand)
4330         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
4331         general_xfmode_operand, destination_xfmode_operand,
4332         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
4333         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
4334         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
4335         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
4336         __float128.
4337         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
4338         Change TFmode to XFmode wherever appropriate.  Remove all
4339         references to INTEL_EXTENDED_IEEE_FORMAT.
4340         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
4341         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
4342         (PREDICATE_CODES): Update to match function renames.
4343         * config/ia64/ia64.md: Change TF to XF throughout; rename all
4344         patterns to match.  Remove all references to
4345         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
4346         function renames.
4347         * config/ia64/ia64-protos.c: Update all prototypes to match
4348         renamed functions.
4349         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
4350         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
4351         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
4352         __divtf3; keep old name for backward compatibility.
4353         (L__compat): New section providing forwarding stubs for
4354         __fixtfti, __fixunstfti, __floattitf.
4355         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
4356
4357 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
4358
4359         PR 10757
4360         * c-pch.c: Include target.h.  Improve comments.
4361         (struct c_pch_validity): Add target_data_length.
4362         (pch_init): Add target's validity data.
4363         (c_common_valid_pch): Check target's validity data.
4364         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
4365         (TARGET_PCH_VALID_P): New.
4366         (TARGET_INITIALIZER): Add new fields.
4367         * target.h: Include tm.h.
4368         (struct gcc_target): Add get_pch_validity, pch_valid_p.
4369         * toplev.h (default_get_pch_validity): New prototype.
4370         (default_pch_valid_p): New prototype.
4371         * toplev.c (default_get_pch_validity): New routine.
4372         (default_pch_valid_p): New routine.
4373         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
4374         target.h with $(TARGET_H).
4375         (c-pch.o): Add TARGET_H.
4376         * doc/tm.texi (PCH Target): New node.
4377         (TARGET_GET_PCH_VALIDITY): Document.
4378         (TARGET_PCH_VALID_P): Document.
4379
4380 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
4381
4382         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
4383         and $(docdir)/include from any *.texi dependencies.
4384         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
4385         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
4386         ($(docobjdir)/%.7): Likewise.
4387         (%.pod): New implicit rule.
4388         (cpp.pod): New dependency only rule.
4389         (gcc.pod): New intermediate rule with dependencies and commands.
4390         (gfdl.pod): Likewise.
4391         (fsf-funding.pod): Likewise.
4392
4393 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4394
4395         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
4396         related code.
4397         * fixinc/fixinc.ptx: Remove.
4398         * fixinc/fixinc.svr4: Remove.
4399
4400 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4401
4402         * config/s390/s390.c (load_multiple_operation): Allow both SImode
4403         and DImode if word_mode is DImode.
4404         (store_multiple_operation): Likewise.
4405         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
4406         ("*load_multiple_di"): Allow only if word_mode == DImode.
4407         ("movqi"): Use LLGC whenever TARGET_ZARCH.
4408         ("fix_truncdfsi2"): Fix incorrect temporary size.
4409         ("fix_truncsfsi2"): Likewise.
4410         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
4411         string for function return value operand.
4412         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
4413
4414 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
4415
4416         * c-parse.in (array_declarator): Use expr_no_commas.
4417         Fixes PR c/11943.
4418
4419 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
4420
4421         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
4422         associated includes in #ifndef inhibit_libc.
4423
4424 2003-10-24  Roger Sayle  <roger@eyesopen.com>
4425
4426         * doc/libgcc.texi: Document some more of the libgcc API.
4427
4428 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
4429
4430         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
4431         comparing a constant with small negative numbers and add costing
4432         for constants in conjunction with AND.
4433         (note_invalid_constants): Tidy previous change.
4434         (thumb_cmp_operand): Tidy.
4435         (thumb_cmpneg_operand): New function.
4436         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
4437         for size.
4438         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
4439         (PREDICATE_CODES): Add thumb_cmpneg_operand.
4440         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
4441         with a negative constant.
4442         (cbranchsi4_insn): Matcher for cbranchsi4.
4443         (cbranchsi4_scratch): Similar, but a scratch is available for
4444         handling negative constants.
4445         (movsi_cbranchsi4): New pattern.
4446         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
4447         and use the TST instruction.
4448         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
4449         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
4450         cannot see high regs or memory alternatives.
4451         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
4452
4453 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
4454
4455         * arm.c (note_invalid_constants): Try to extract the constant
4456         pool value using avoid_constant_pool_reference; only use
4457         get_pool_constant if that returns the original reference.
4458
4459 2003-10-24  Jan Hubicka  <jh@suse.cz>
4460
4461         PR c++/12624
4462         * varasm.c (notice_global_symbol): Disqualify global registers.
4463
4464 2003-10-23  Roger Sayle  <roger@eyesopen.com>
4465
4466         PR middle-end/11414
4467         * loop.c (load_mems): Use redirect_jump to forward jumps from
4468         the original loop end label to the new "loop sink" block's label.
4469
4470 2003-10-23  Roger Sayle  <roger@eyesopen.com>
4471
4472         PR middle-end/12705
4473         * optabs.c (expand_binop): When expanding complex operations
4474         inline, always calculate result into a new temporary register.
4475         Minor code clean-ups.
4476
4477 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4478
4479         * objc/lang-specs.h: Handle -print-objc-runtime-info.
4480         * doc/invoke.texi (Objective-C Dialect Options): Document it.
4481
4482 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
4483
4484         * config/i386/cygwin.asm: Add copyright notice. Add comment
4485         on why this code is needed.
4486
4487 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
4488
4489         * config/h8300/clzhi2.c: Fix warnings.
4490         * config/h8300/ctzhi2.c: Likewise.
4491         * config/h8300/fixunssfsi.c: Likewise.
4492         * config/h8300/parityhi2.c: Likewise.
4493         * config/h8300/popcounthi2.c: Likewise.
4494
4495 2003-10-23  James E Wilson  <wilson@specifixinc.com>
4496
4497         * gcc.c (option_map): Delete --target and --use-version.
4498
4499 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
4500             David Edelsohn  <edelsohn@gnu.org>
4501
4502         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
4503         TARGET_POWREPC64.
4504         (UNITS_PER_GPR_WORD): Define.
4505         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
4506         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4507         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
4508         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
4509         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
4510         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4511         (rs6000_emit_prologue): Select reg_mode and reg_size using
4512         TARGET_32BIT, not TARGET_POWERPC64.
4513         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4514         ABI / 64-bit computation mode
4515
4516 2003-10-22  Andrew Haley  <aph@redhat.com>
4517
4518         * toplev.c (output_file_directive): Allow for null input_name.
4519
4520 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
4521
4522         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4523
4524 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
4525
4526         * configure.in: In --enable-generated-files-in-srcdir option
4527         handling, fix default case handling.
4528         * configure: Regenerate.
4529
4530 2003-10-22  Phil Edwards  <phil@codesourcery.com>
4531
4532         * config.gcc:  Update *-*-vxworks* generic hook and comments.
4533         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4534         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
4535         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4536         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
4537         * config/windiss.h:  New file.
4538         * config/arm/t-vxworks:  New file.
4539         * config/arm/vxworks.h:  New file.
4540         * config/i386/t-vxworks:  New file.
4541         * config/i386/vxworks.h:  New file.
4542         * config/mips/t-vxworks:  New file.
4543         * config/mips/vxworks.h:  New file.
4544         * config/mips/windiss.h:  New file.
4545         * config/sh/t-vxworks:  New file.
4546         * config/sh/vxworks.h:  New file.
4547
4548 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
4549
4550         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4551         (h8300_saveall_function_p): New.
4552         (h8300_insert_attributes): Insert the saveall attribute if
4553         #pragma saveall is specified.
4554         (h8300_attribute_table): Add saveall.
4555         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4556         * doc/extend.texi: Mention the saveall attribute.
4557
4558 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
4559
4560         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4561         deprecation of casts as lvalues.
4562         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4563         * fixinc/fixincl.x: Regenerate.
4564         * fixinc/tests/base/obstack.h: New test.
4565
4566 2003-10-22  Andreas Schwab  <schwab@suse.de>
4567
4568         PR target/12676
4569         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4570         LP64 platforms.
4571
4572 2003-10-22  Jan Hubicka  <jh@suse.cz>
4573
4574         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4575         presence of DW_AT_inline.
4576         (gen_subprogram_die): Likewise; do not abort instead of emitting
4577         DW_AT_not_inline.
4578
4579 2003-10-22  Jan Hubicka  <jh@suse.cz>
4580
4581         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4582         global info is not ready.
4583
4584 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
4585
4586         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4587
4588 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4589
4590         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4591         ("*movstr_short"): ... into this insn pattern.
4592         ("movstr_short"): New expander.
4593         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4594         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4595         ("movstr_long"): New expander.
4596         ("clrstr_short_64", "clrstr_short_31"): Merge ...
4597         ("*clrstr_short"): ... into this insn pattern.
4598         ("clrstr_short"): New expander.
4599         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4600         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4601         ("clrstr_long"): New expander.
4602         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4603         ("*cmpmem_short"): ... into this insn pattern.
4604         ("cmpmem_short"): New expander.
4605         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4606         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4607         ("cmpmem_long"): New expander.
4608         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4609         (s390_expand_clrstr): Likewise.
4610         (s390_expand_cmpmem): Likewise.
4611
4612 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
4613
4614         * c-pch.c (struct c_pch_validity): Add pch_init field.
4615         (pch_init): Set it.
4616         (c_common_valid_pch): Check it.
4617
4618 2003-10-22  David Taylor <dtaylor@emc.com>
4619
4620         PR debug/12500
4621         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4622
4623 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4624
4625         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4626         alpha_return_in_memory if no VALTYPE specified.
4627
4628 2003-10-22  Jan Hubicka  <jh@suse.cz>
4629
4630         PR debug/12389
4631         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4632         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4633         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4634         (cgraph_global_info): Add flag inlined
4635         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4636         cgraph_function_possibly_inded_p
4637         * cgraphunit.c (mark_inline): Set inlined flag.
4638         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4639         only for possibly inlined functions.
4640         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4641         body of function.
4642
4643 2003-10-22  Andrew Haley  <aph@redhat.com>
4644
4645         * varasm.c (output_constructor): Make constructor annotation
4646         conditional on ASM_COMMENT_START.
4647
4648 2003-10-21  Jason Merrill  <jason@redhat.com>
4649
4650         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4651         (get_narrower): Likewise.
4652
4653         * stor-layout.c (layout_decl): Do packed field alignment for
4654         bit-fields, too.
4655
4656 2003-10-21  Eric Christopher  <echristo@redhat.com>
4657
4658         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4659
4660 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
4661
4662         * c-pch.c: Add comments in various places.
4663         (struct c_pch_validity): Add the lengths of various strings.
4664         (host_machine): New static.
4665         (target_machine): New static.
4666         (get_ident): Bump version number.
4667         (pch_init): Write out version, host, target validity data.
4668         (c_common_valid_pch): Check version, host, target.
4669         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4670         TARGET_MACHINE.
4671
4672 2003-10-21  Jason Merrill  <jason@redhat.com>
4673
4674         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4675         (EXPR_P): New macro.
4676
4677 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
4678
4679         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4680         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4681         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4682         DImode.   Use convert_move to load ar.ccv.
4683         (ia64_expand_compare_and_swap): Likewise.
4684         If expand_expr doesn't put 'old' and 'new' in the proper
4685         modes, run them through convert_to_mode.
4686
4687 2003-10-21  Eric Christopher  <echristo@redhat.com>
4688
4689         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4690         for too large bitfields.
4691
4692 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4693
4694         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4695
4696 2003-10-21  Andrew Haley  <aph@redhat.com>
4697
4698         * varasm.c (output_constructor): Annotate constructor.
4699
4700 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4701
4702         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4703         on existence of destination file.
4704
4705 2003-10-21  Jan Hubicka  <jh@suse.cz>
4706
4707         * haifa-sched.c (choose_ready): Initialize index.
4708
4709 2003-10-21  Jason Merrill  <jason@redhat.com>
4710
4711         * tree.c (build1): Fix off-by-one error.
4712
4713 2003-10-21  Robert Millan  <robertmh@gnu.org>
4714
4715         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4716         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4717         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4718         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4719
4720 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
4721
4722         * web.c: Fix various comments.
4723
4724 2003-10-20  Nicolas Pitre <nico@cam.org>
4725
4726         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4727         to 2 instead of 1 when optimize_size is true.  Gather code based on
4728         optimize_size together.  Add comment about XScale load latency.
4729
4730 2003-10-21  Gunther Nikl  <gni@gecko.de>
4731
4732         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4733         obsolete comments.
4734
4735 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4736
4737         * Makefile.in: Get parsedir and docobjdir from configure.
4738         * configure.in: Recogonize --enable-generated-files-in-srcdir.
4739         Pass along parsedir and docobjdir.
4740         * configure: Regenerate.
4741         * doc/install.texi: Document --enable-generated-files-in-srcdir.
4742
4743 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4744
4745         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4746         included.
4747
4748 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4749
4750         * c-common.c (expand_tree_builtin): Ensure creal and cimag
4751         functions do not return lvalues.
4752
4753 2003-10-20  Jason Merrill  <jason@redhat.com>
4754
4755         PR c/12553
4756         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4757         appropriately.
4758
4759         PR c/11446
4760         * stor-layout.c (layout_decl): Fix alignment handling.
4761
4762 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4763
4764         * doc/extend.texi: Deprecate casts as lvalues.
4765
4766 2003-10-20  Jan Hubicka  <jh@suse.cz>
4767
4768         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4769
4770         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
4771         with functions implicitly made inline.
4772
4773         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
4774         (cgraph_finalize_function): Use it.
4775         (cgraph_mark_inline): Allow incrmental decisions
4776         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4777         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4778         * tree-inline.c (limits_allow_inlining): Kill.
4779         (expand_call_inline): Always use unit-at-a-time path.
4780
4781 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4782
4783         * fixinc/inclhack.def (hpux11_snprintf): New edit.
4784         * fixinc/fixincl.x: Regenerate.
4785         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4786
4787 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
4788
4789         * Makefile.in (install-info): Simplify.
4790         ($(DESTDIR)$(infodir)/%.info): New rule.
4791         * configure.in (target_list): Remove install-info.
4792         * doc/.cvsignore (gcc.info*): Remove.
4793         (gccint.info*): Likewise.
4794         (gccinstall.info*): Likewise.
4795         (cpp.info*): Likewise.
4796         (cppinternals.info*): Likewise.
4797         (*.info*): Add it.
4798         * doc/sourcebuild.texi: Update description of install-info.
4799         * objc/Make-lang.in (objc.install-info): Remove.
4800
4801 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4802
4803         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4804         Use it in _MIPS_SIM definition.
4805         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4806
4807 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4808
4809         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4810         virtual register, but only if file == asm_out_file.
4811         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4812         for ARG_POINTER_REGNUM.
4813
4814 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4815
4816         * c-common.c (registered_builtin_types): New static.
4817         (c_common_type_for_mode): Consult registered_builtin_types.
4818         (c_register_builtin_type): Add type to registered_builtin_types.
4819         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4820         all MODE_FLOAT modes, not just the ones corresponding to
4821         float_type_node, double_type_node, and long_double_type_node.
4822
4823 2003-10-20  Richard Henderson  <rth@redhat.com>
4824
4825         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4826         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4827
4828 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
4829
4830         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4831         support new flag -minsert-sched-nops.
4832         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4833         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4834         support new flag -minsert-sched-nops.
4835         (is_cracked_insn, is_microcoded_insn): New functions.
4836         (rs6000_sched_finish): New function.
4837         (rs6000_issue_rate): Return 5 for power4.
4838         (get_next_active_insn, insn_terminates_group_p): New
4839         functions.
4840         (is_costly_group, force_new_group): New functions.
4841         (redefine_groups, pad_groups): New functions.
4842         (rs6000_variable_issue): Use new functions.
4843         * doc/invoke.texi (-minsert-sched-nops): Document new
4844         option.
4845
4846 2003-10-20  David S. Miller  <davem@redhat.com>
4847
4848         * config/sparc/sparc.md (type attribute): Add new insn types
4849         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4850         (patterns emitting VIS insns): Use them.
4851         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4852         * config/sparc/ultra3.md: Likewise.
4853
4854 2003-10-20  Falk Hueffner  <falk@debian.org>
4855
4856         PR target/12654
4857         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4858         comparison against constant by adjusting the argument except for
4859         EQ and NE.
4860
4861 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
4862
4863         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4864         arm1136jfs, and armv6j.
4865         * config/arm/arm.c (FL_ARCH6J): New macro.
4866         (FL_VFPV2): Likewise.
4867         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4868         and arm1136jfs.
4869         (all_architectures): Add entry for armv6j.
4870         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4871         arm1136js, and arm1136jfs.
4872         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4873         (TARGET_CPU_arm1026ej_s): Likewise.
4874         (TARGET_CPU_arm1136j_s): Likewise.
4875         (TARGET_CPU_arm1136jf_s): Likewise.
4876         * doc/invoke.texi: Document new ARM cores and architecture
4877         variants.
4878
4879 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4880
4881         * Makefile.in (toplev.o): Add value-prof.h dependency.
4882         (value-prof.o): Add REGS_H dependency.
4883         * common.opt (fprofile-values, fvpt): New.
4884         * flags.h (flag_value_profile_transformations): Declare.
4885         * opts.c (common_handle_option): Handle -fprofile_values and
4886         -fvpt.
4887         * profile.c (branch_prob): Don't remove death notes here.
4888         * timevar.def (TV_VPT): New.
4889         * value-prof.c: Include regs.h.
4890         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4891         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4892         mod_subtract_transform, value_profile_transformations): New.
4893         (insn_values_to_profile): Call insn_divmod_values_to_profile.
4894         (find_values_to_profile): Add dumps.
4895         * value-prof.h (value_profile_transformations): Declare.
4896         * toplev.c: Include value-prof.h.
4897         (rest_of_handle_value_profile_transformations): New.
4898         (enum dump_file_index): Add DFI_vpt.
4899         (dump_file): Add vpt dump.
4900         (flag_value_profile_transformations): New.
4901         (lang_independent_options): Add flag_profile_values and
4902         flag_value_profile_transformations.
4903         (rest_of_compilation): Call
4904         rest_of_handle_value_profile_transformations.
4905         (process_options): Let -fvpt imply -fprofile-values.
4906         * doc/invoke.texi (-fvpt): Document.
4907
4908 2003-10-19  Jan Hubicka  <jh@suse.cz>
4909
4910         * i386.c (print_reg): Do not abort on certain registers.
4911
4912         PR optimization/12612
4913         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
4914         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4915         match_scratch; avoid bogus paralles.
4916
4917         PR target/12674
4918         * i386.c (ix86_function_regparm): Disable implicit register passing
4919         conventions when profiling.
4920
4921 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4922             Richard Henderson  <rth@redhat.com>
4923
4924         PR optimization/8178
4925         * config/i386/i386.md (*movsi_zero): Delete.
4926         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4927
4928 2003-10-19  Richard Henderson  <rth@redhat.com>
4929
4930         * config/alpha/alpha.c (fix_operator): New.
4931         (divmod_operator): Tidy.
4932         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4933         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4934         (PREDICATE_CODES): Update.
4935         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4936         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4937         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4938         (fix_truncsfdi_ieee): Likewise.
4939         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4940         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4941         * config/alpha/alpha-protos.h: Update.
4942
4943 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
4944
4945         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4946         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4947         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4948         constant operands.
4949
4950 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
4951
4952         * doc/extend.texi: Fix typos.
4953         * doc/invoke.texi: Likewise.
4954
4955 2003-10-18  Nicolas Pitre <nico@cam.org>
4956
4957         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4958         XScale optimizations not arm_arch_xscale.
4959         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4960
4961 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
4962
4963         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4964         * config/s390/s390.c (shift_count_operand): New function.
4965         (s390_extra_constraint): Use it to implement 'Y' constraint.
4966         (print_shift_count_operand): New function.
4967         (print_operand): Use it to implement '%Y'.
4968         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4969         (PREDICATE_CODES): Add shift_count_operand.
4970         * config/s390/s390.md ("rotldi3"): Merge alternatives,
4971         using "shift_count_operand" predicate and "Y" constraint,
4972         and "%Y" to output the combined shift count.
4973         ("rotlsi3"): Likewise.
4974         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4975         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4976         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4977         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4978         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4979         ("lshrsi3"): Likewise.
4980
4981 2003-10-18  Gunther Nikl  <gni@gecko.de>
4982
4983         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4984         argument to asm_fprintf statement.
4985
4986 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
4987
4988         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4989         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4990         a "long long" argument.
4991
4992 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
4993
4994         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4995         as well.
4996
4997 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
4998
4999         * rtl.h (rtl_size): Declare.
5000         (rtunion): Remove rtwint.
5001         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
5002         (RTX_HDR_SIZE, RTX_SIZE): New macros.
5003         (RTL_CHECK1): Adjust for new rtx_def layout.
5004         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
5005         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
5006         (X0WINT): Remove.
5007         (X0ANY): New macro.
5008         * rtl.def: Adjust comments for new rtx_def layout.
5009         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
5010         number of slots.
5011         * rtl.c (rtx_size): New array.
5012         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
5013         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
5014         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
5015         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
5016         * emit-rtl.c (copy_most_rtx): Likewise.
5017         (copy_rtx_if_shared): Use RTX_SIZE.
5018         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
5019         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
5020         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
5021         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
5022         an array.  Adjust output for new rtx_def layout.
5023         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
5024         * reload1.c (eliminate_regs): Use RTX_SIZE.
5025         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
5026         * gdbinit.in (pi): Likewise.
5027
5028 2003-10-18  Jan Hubicka  <jh@suse.cz>
5029
5030         * integrate.c (copy_decl_for_inlining): Revert previous patch.
5031
5032 2003-10-18  Jan Hubicka  <jh@suse.cz>
5033
5034         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
5035
5036 2003-10-18  Roger Sayle  <roger@eyesopen.com>
5037
5038         * libgcc.texi: Group multi-word types, such as "long double" and
5039         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
5040         Document __unord?f2 as returning a non-zero value, not just one.
5041
5042 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
5043
5044         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
5045         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
5046
5047 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
5048
5049         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
5050         match_operand.
5051
5052 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
5053
5054         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
5055         parameter packed_p.  Search for a DECL_PACKED field only if
5056         packed_p is false.  Pass packed_p recursively.
5057         (function_arg_record_value_2): Likewise.
5058         (function_arg_record_value): Update calls to
5059         function_arg_record_value_1 and function_arg_record_value_2.
5060
5061 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
5062
5063         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
5064         was successfully forced to memory before using the result.
5065
5066 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
5067
5068         PR optimization/8178
5069         * config/i386/i386.md (*movsi_zero): New insn to set
5070         a register to zero on TARGET_USE_MOV0 targets.
5071
5072 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
5073
5074         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
5075         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
5076
5077 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
5078
5079         * doc/invoke.texi (gcse-las): Fix typo.
5080
5081 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
5082
5083         * doc/install.texi: Remove first part of the sentence for
5084         zsh not working.  Change gcc to GCC.
5085
5086         PR bootstrap/12546
5087         * doc/install.texi: Document that zsh does not work when
5088         configuring gcc.
5089
5090 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
5091
5092         * config/ptx4.h: Switch to DWARF 2; update comments.
5093
5094 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
5095             Hartmut Penner  <hpenner@de.ibm.com>
5096
5097         PR 10404, partial 11591, partial 11601
5098         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
5099         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
5100         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
5101         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
5102         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
5103         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
5104         (altivec_expand_stv_builtin): Adjust for the memory_operand.
5105         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
5106         (altivec_init_builtins): Use `long int' for memory offsets.
5107
5108 2003-10-17  Jan Hubicka  <jh@suse.cz>
5109
5110         * opts.c  (common_handle_option): Handle OPT_fweb
5111         * invoke.texi (-fweb): Add missing parts of documentation.
5112
5113 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5114
5115         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
5116         before redefinition.
5117
5118 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
5119
5120         * common.opt: Add description of the new -fgcse-las flag.
5121         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
5122         * gcse.c (hash_scan_set): Handle the case of store expression and
5123         insert the memory expression to the hash table, this way we make it
5124         possible to discover redundant loads after stores and remove them.
5125         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
5126         to pre_insert_copies, it is not the correct place to call it after
5127         adding stores to be in the available expression hash table.
5128         (pre_insert_copies): Added the call to update_ld_motion_stores when
5129         one or more copies were inserted.
5130         * opts.c (common_handle_option): Handle the -fgcse-las flag.
5131         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
5132
5133         * doc/invoke.tex: Document new -fgcse-las flag.
5134
5135 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
5136
5137         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
5138         for posterity, then remove it.
5139
5140 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
5141             Nathan Sidwell  <nathan@codesourcery.com>
5142
5143         * config/arm/arm.c (use_return_insn): Not a single instruction, if
5144         there's a frame pointer.
5145         (arm_output_epilogue): Protect stack pointer from being corrupted
5146         on interrupt.
5147
5148 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
5149
5150         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
5151
5152 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
5153
5154         * combine.c (simplify_set): Do not clear out undobuf.other_insn
5155         already set elsewhere.
5156
5157 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
5158
5159         * config/i386/i386.c (ix86_expand_prologue):  Use
5160         gen_allocate_stack_worker.
5161
5162 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5163
5164         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
5165         without gas.
5166         (mips-sgi-irix6*): Likewise.
5167
5168         * config/mips/iris6gas.h: New file.
5169         * gcc/config.gcc (mips-sgi-irix6*): Use it.
5170
5171         * config/mips/mips.h (TARGET_IRIX): Provide default.
5172         (TARGET_IRIX5): Likewise.
5173         (TARGET_SGI_O32_AS): Likewise.
5174         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
5175         (TARGET_IRIX5): Likewise.
5176         * config/mips/iris6.h (TARGET_IRIX6): Remove.
5177         (TARGET_IRIX5): Redefine as 0.
5178
5179         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
5180         linker workaround with TARGET_IRIX and mips_abi instead of
5181         ASM_OUTPUT_UNDEF_FUNCTION.
5182         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
5183         testing TARGET_IRIX and mips_abi explicitly.
5184         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
5185         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
5186
5187         * config/mips/mips.c (irix_output_external_libcall): Renamed from
5188         mips_output_external_libcall.
5189         Use new TARGET_IRIX in guard.
5190         * config/mips/mips-protos.h (irix_output_external_libcall): Match
5191         this.
5192         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
5193
5194         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
5195         Define as 0.
5196
5197         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
5198         depending on mips_abi.
5199         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
5200         * config/mips/mips.c (mips_output_function_prologue): Test
5201         FUNCTION_NAME_ALREADY_DECLARED at runtime.
5202         (mips_output_function_epilogue): Likewise.
5203         (build_mips16_function_stub): Likewise.
5204         (build_mips16_call_stub): Likewise.
5205         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
5206         default.
5207
5208         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
5209         IRIX 6 O32 assembler.
5210         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
5211         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
5212         _MIPS_SIM for O32 ABI.
5213         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
5214         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
5215         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
5216         Integrate O32 version.
5217         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
5218         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
5219         O32 ABI.
5220         (BSS_SECTION_ASM_OP_32): Define.
5221         (BSS_SECTION_ASM_OP_64): Likewise.
5222         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
5223         using them.
5224         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
5225         Move up to allow override for O32 ABI without GNU as.
5226         (EH_FRAME_SECTION_NAME): Define explicitly.
5227         (MUST_USE_SJLJ_EXCEPTIONS): Define.
5228         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
5229         DTORS_SECTION_ASM_OP): Dummy definitions.
5230         (TARGET_ASM_NAMED_SECTION): Undef statically.
5231         (EH_FRAME_SECTION_NAME): Likewise.
5232         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
5233         (LINK_SPEC): Only use default options -call_shared -no_unresolved
5234         without -r.
5235         Don't pass -init, -fini with -mabi=32.
5236         (COLLECT_PARSE_FLAG): Define.
5237
5238         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
5239         TARGET_IRIX.
5240         Renamed to use irix_ prefix.
5241         (iris6_asm_named_section): Likewise.
5242         (iris_section_align_entry_eq): Likewise.
5243         (iris_section_align_entry_hash): Likewise.
5244         (iris6_file_start): Likewise.
5245         (iris6_section_align_1): Likewise.
5246         (iris6_file_end): Likewise.
5247         (iris6_section_type_flags): Likewise.
5248         (iris_section_align_htab): Likewise.
5249         (iris_orig_asm_out_file): Likewise.
5250         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
5251         (TARGET_ASM_FILE_END): Likewise.
5252         (TARGET_SECTION_TYPE_FLAGS): Likewise.
5253
5254         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
5255         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
5256         override_options instead.
5257         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
5258         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
5259         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
5260         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
5261         assemblers.
5262         Likewise for constructor/destructor handling.
5263         (override_options): Handle IRIX O32 assembler quirks.
5264         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
5265         without gas.
5266         (mips_file_start): Use new TARGET_IRIX.
5267         (mips_declare_object_name): No special processing for IRIX O32
5268         assembler.
5269         (mips_finish_declare_object): Likewise.
5270         (irix_asm_output_align): Renamed from iris6_asm_output_align.
5271         Don't record alignment for O32 ABI.
5272         (irix_file_start): Renamed from iris6_file_start.
5273         Return early for O32 ABI.
5274         (irix_file_end): Renamed from iris6_file_end.
5275         Don't emit .section directives for O32 ABI.
5276         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
5277         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
5278
5279         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
5280         (MULTILIB_OSDIRNAMES): Likewise.
5281
5282 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5283
5284         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
5285         (main): Use it.
5286         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
5287
5288 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
5289
5290         * arm-modes.def (CC_Nmode): New condition code mode.
5291         * arm.c (thumb_condition_code): Delete.
5292         (arm_select_cc_mode): Handle single-bit test for Thumb.
5293         (arm_print_operand, cases 'd' and 'D'): Don't special case the
5294         condition code logic for Thumb.
5295         (get_arm_condition_code): Handle CC_Nmode.
5296         (thumb_cbrch_target_operand): New function.
5297         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
5298         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
5299         * arm.md: Add Thumb split patterns for zero_extract and
5300         sign_extract.
5301         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
5302         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
5303         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
5304         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
5305         (cbranchne_decr1): Re-work to use CC_Nmode.
5306
5307         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
5308         by the return instruction.  Add a use of the link register if it
5309         wasn't stored.
5310
5311 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
5312
5313         * flow.c (init_propagate_block_info): Don't abort if a conditional
5314         jump is not a comparison of a register.  Instead, just don't record
5315         conditional life information.
5316
5317 2003-10-16  Jan Hubicka  <jh@suse.cz>
5318
5319         PR optimization/12630
5320         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
5321         for operands 7 and 8.
5322
5323 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
5324
5325         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
5326
5327 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
5328
5329         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
5330
5331         * config/i386/winnt.c (gen_stdcall_suffix): Make static
5332         (gen_fastcall_suffix): Likewise.
5333         (i386_pe_dllexport_p): Likewise.
5334         (i386_pe_dllimport_p): Likewise.
5335         (i386_pe_mark_dllexport): Likewise.
5336         (i386_pe_mark_dllimport): Likewise.
5337         (i386_pe_asm_named_section): Fix formatting.
5338
5339 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
5340
5341         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
5342         * system.h: Declare snprintf if necessary.
5343         * configure, config.in: Regenerate.
5344
5345 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
5346
5347         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
5348         arguments if TARGET_ALTIVEC_ABI.
5349
5350 2003-10-15  Roger Sayle  <roger@eyesopen.com>
5351
5352         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
5353         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
5354         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
5355         New functions.
5356         (expand_builtin_memcpy): Use integer_zerop instead of testing
5357         host_integerp and tree_low_cst directly.  Move misapplied hunk
5358         for optimization wher SRC and DEST point to the same location.
5359         (expand_builtin_mempcpy): From here.
5360         (expand_builtin_memmove): Use integer_zerop instead of testing
5361         host_integerp and tree_low_cst_directly.
5362         (expand_builtin_memset): Likewise.
5363         (expand_builtin_memcmp): Likewise (and for integer_onep).
5364         (expand_builtin_strncmp): Likewise.
5365         (fold_builtin): Call the appropriate fold_builtin_foo functions
5366         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
5367         strcmp and strncmp.
5368
5369 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
5370
5371         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
5372         prototype.  Clean up some whitespace.
5373         * config/darwin.c: Use gen_rtx_FOO (...) rather than
5374         gen_rtx (FOO, ...).
5375         (machopic_non_lazy_ptr_name): Make static.
5376         (name_needs_quotes): Allow '.' and '$' unquoted.
5377         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
5378         case.
5379
5380 2003-10-15  Gábor Lóki  <alga@rgai.hu>
5381
5382         * fold-const.c (tree_swap_operands_p): Disable some features
5383         when optimizing for size.
5384
5385 2003-10-15  David Daney  <ddaney@avtrex.com>
5386
5387         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
5388         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
5389         from leaf functions.
5390         (DWARF_FRAME_RETURN_COLUMN): Ditto.
5391         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
5392         by MD_FALLBACK_FRAME_STATE_FOR.
5393         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
5394
5395 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
5396
5397         * genmodes.c: Include hashtab.h.
5398         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
5399         (adj_bytesize, adj_alignment, adj_format, new_adjust)
5400         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
5401         (print_maybe_const_decl, emit_mode_adjustments): New.
5402         (known_modes): Rename to modes.
5403         (find_mode): Kill class argument; look up in hash table.
5404         (new_mode): Insert into hash table also.
5405         (new_adjust): New.
5406         (reset_float_format, make_partial_integer_mode)
5407         (make_vector_mode): Tweak error reporting.
5408         (reset_float_format): Correct type of fourth argument.
5409         (emit_insn_modes_h): Add #defines to help make mode_size,
5410         mode_base_align, and real_format_for_mode conditionally const.
5411         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
5412         (emit_real_format_for_mode): Likewise, but temporarily disabled.
5413         (emit_insn_modes_c): Call emit_mode_adjustments.
5414         (main): Initialize modes_by_name.
5415         * Makefile.in: Update dependencies.
5416         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
5417         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
5418         declarations of mode_size and mode_base_align.  Declare
5419         init_adjust_machine_modes.
5420         * toplev.c (backend_init): Call init_adjust_machine_modes.
5421
5422 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
5423
5424         * genmodes.c (calc_wider_mode): Allocate enough room for all the
5425         entries we'll possibly assign in the sort buffer.
5426
5427 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
5428
5429         * config.gcc (s390x-ibm-tpf*): New target.
5430         * doc/install.texi: Document it.
5431         * config/s390/t-tpf: New file.
5432         * config/s390/tpf.h: New file.
5433
5434 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
5435
5436         PR target/12598
5437         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
5438         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
5439         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
5440         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
5441         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
5442         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
5443         replace_equiv_address, not gen_rtx_MEM.
5444         * config/cris/cris.c (cris_mem_op): New match_operator function.
5445         (cris_notice_update_cc): Use replace_equiv_address, not
5446         gen_rtx_MEM.
5447         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
5448
5449 2003-10-15  Bernardo Innocenti <bernie@develer.com>
5450
5451         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
5452         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
5453         definitions after the other flags.
5454
5455 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
5456
5457         * c-parse.in (methoddef, methodproto): Call objc_add_method()
5458         instead of add_method().
5459         * objc/objc-act.c (objc_check_decl): Do not check for
5460         constant_string_type.
5461         (add_method): Rename to objc_add_method().
5462         (really_start_method): Call objc_add_method() instead of
5463         add_method().
5464         * objc/objc-act.h (add_method): Rename to objc_add_method().
5465
5466 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
5467
5468         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
5469         (s390_slb_comparison): Likewise.
5470         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
5471         New functions.
5472         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
5473         and s390_slb_comparison.
5474         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
5475         zSeries machines.
5476         ("*adddi3_31z", "*subdi3_31z"): New insns.
5477         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
5478         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
5479         New insns.
5480
5481 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
5482
5483         * configure.in: Clean up some feedback echoes.
5484         * configure: Regenerate.
5485
5486         * aclocal.m4: Properly quote names of macros being defined.
5487
5488         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
5489
5490 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
5491
5492         * config/ia64/ia64.c (ia64_expand_call): Force function address
5493         to DImode.
5494         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
5495
5496 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
5497
5498         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
5499         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
5500         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
5501         "*divsf3_ibm"): Likewise.
5502
5503 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
5504
5505         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
5506         target_alias with target_noncanonical.
5507
5508 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
5509
5510         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
5511         and add case for machines where outgoing register parameters
5512         get stack space.
5513
5514         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
5515         register when generating indirect address.
5516
5517 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
5518
5519         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
5520         * arm.md (cbranchne_decr1): Fix bootstrap warning.
5521
5522 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5523
5524         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
5525         * fixinc/fixincl.x: Regenerate.
5526         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
5527         testcase.
5528         Fixes PR bootstrap/9330.
5529
5530 2003-10-13  Eric Christopher  <echristo@redhat.com>
5531
5532         * config/frv/frv.c (frv_adjust_field_align): Redo check for
5533         too wide bitfields.
5534         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
5535         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
5536         (SBSS_SECTION_ASM_OP): Remove.
5537         (EXTRA_SECTIONS): Remove in_sbss.
5538         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
5539         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
5540         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
5541         named_section.
5542
5543 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5544
5545         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
5546         uses of ${target_alias} for directory names (and other places which
5547         won't like the empty string) with ${target_noncanonical}.  Introduce
5548         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
5549         available.
5550         * configure: Regenerate.
5551
5552 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
5553
5554         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
5555         * config/arm/arm.md: For splits which rely on conditional moves,
5556         remove ! TARGET_IWMMXT condition.
5557
5558 2003-10-13  David S. Miller  <davem@redhat.com>
5559
5560         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
5561         (find_cond_trap): Always increment if we emit a conditional
5562         trap insn.
5563
5564 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
5565
5566         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
5567         with min-insn-modes.o.
5568         (STAGESTUFF): Add min-insn-modes.c.
5569         (genobjs): Add genmodes.o.
5570         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
5571         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
5572         (min-insn-modes.c, min-insn-modes.o): New rules.
5573         (s-modes): Also generate min-insn-modes.c.
5574         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
5575         * genmodes.c (struct mode_data): Add format field.
5576         (blank_mode, validate_mode, complete_mode): Update to match.
5577         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
5578         (_SCALAR_MODE): Kill.
5579         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
5580         (emit_insn_modes_c_header): Adjust.
5581         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
5582         (emit_min_insn_modes_c): New functions.
5583         (emit_insn_modes_c): Call emit_real_format_for_mode.
5584         (main): Add -m option to generate min-insn-modes.c.
5585         * machmode.h: Update documentation.  Add format argument to
5586         all uses of FLOAT_MODE.
5587         * real.c: Don't define real_format_for_mode here.
5588
5589         * dwarfout.c: Move default definition of PRINT_REG...
5590         * defaults.h: ...here.
5591         * print-rtl.c: Include tm_p.h.
5592         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
5593         Kill.
5594         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
5595         this entire block with #ifndef GENERATOR_FILE.
5596         * regclass.c: Unconditionally define reg_names.
5597         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
5598         Don't define DEBUG_REGISTER_NAMES.
5599         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
5600         redefinition of REGISTER_NAMES.
5601         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
5602
5603         * combine.c: Change all preprocessor conditionals on
5604         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
5605         for clarity.
5606         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
5607         * configure.in: Don't define EXTRA_CC_MODES.
5608         * configure, config.in: Regenerate.
5609         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
5610
5611         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
5612         May assume that GET_MODE_CLASS is accurate for extra CC modes
5613         at all times.
5614
5615         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
5616         number of arguments to aggregate_value_p.
5617
5618         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
5619         * machmode.def: Explain ARCH-modes.def.  Document
5620         RESET_FLOAT_FORMAT.  Improve commentary on various mode
5621         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
5622         XF, or TF modes here.  Remove backward-compatibility
5623         definition of CC.
5624
5625         * config/alpha/alpha-modes.def: New file; define TF mode.
5626         * config/arc/arm-modes.def: Define XF mode.
5627         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
5628         float format for SF and DF modes.
5629         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
5630         * config/i386/i386-modes.def: Define XF and TF modes.
5631         * config/i960/i960-modes.def: Define TF mode.
5632         * config/ia64/ia64-modes.def: Define TF and OI modes.
5633         * config/m68k/m68k-modes.def: New file; define XF mode.
5634         * config/mips/mips-modes.def: New file; define TF mode, reset
5635         formats for SF and DF modes.
5636         * config/pa/pa-modes.def: Define TF mode.
5637         * config/rs6000/rs6000.c: Define TF and PSI modes.
5638         * config/s390/s390-modes.def: Define OI mode.
5639         * config/sh/sh-modes.def: New file; define PSI mode.
5640         * config/sparc/sparc-modes.def: Define TF mode.
5641         * config/vax/vax-modes.def: New file; reset formats for SF and
5642         DF modes.
5643
5644         * config/c4x/c4x.c (c4x_override_options): No need to mess
5645         with real_format_for_mode or set REAL_MODE_FORMATs.
5646         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
5647         variable.
5648         * config/i386/i386.c (override_options): No need to set
5649         REAL_MODE_FORMATs here.
5650         * config/i960/i960.c (i960_initialize): Likewise.
5651         * config/m68k/m68k.c (m68k_override_options): Likewise.
5652         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
5653         for TFmode only if not the default.
5654         * config/mips/mips.c (override_options): Likewise.
5655         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
5656         DFmode only if not the default.
5657
5658         * config/i370/i370.h (RET_REG): Don't consider TFmode.
5659         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
5660         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
5661         of modes that don't appear anywhere in the machine description.
5662
5663         * config/arc/arc-modes.def, config/arm/arm-modes.def
5664         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
5665         * config/i386/i386-modes.def, config/i960/i960-modes.def
5666         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
5667         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
5668         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
5669         * config/sparc/sparc-modes.def: Convert to new style for
5670         declaring extra CC modes.
5671
5672 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
5673
5674         * cpplex.c (_cpp_clean_line): In the common case of a line
5675         with no trigraphs and no \-newline, avoid writing to memory.
5676         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
5677         of the buffer member.  Make c an uchar to avoid unnecessary
5678         sign extensions.
5679
5680 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5681
5682         * configure.in: Remove unnecessary test.
5683         * configure: Regenerate.
5684
5685         * configure.in: Fix grammatical error.  Move UWIN host error to...
5686         * config.host: Here.
5687         * configure: Regenerate.
5688
5689 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
5690
5691         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
5692         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
5693         of flag_unsafe_math_optimizations.
5694         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
5695         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
5696         fused-madd and no-fused-madd.
5697         * doc/invoke.texi: Documented the new options fused-madd and
5698         no-fused-madd for S/390.
5699
5700 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
5701
5702         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
5703         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
5704         assign DEFAULT_ABI.
5705         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
5706         * config/rs6000/rs6000.c: Formatting.
5707         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
5708         when rs6000_alignment_string given.
5709
5710 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
5711
5712         PR target/12538
5713         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
5714         (sparc_flat_must_save_register_p): New function to decide whether
5715         a register must be saved/restored in the function prologue/epilogue.
5716         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
5717
5718 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5719
5720         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
5721         ISO C90 function declarations and definitions.
5722         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
5723
5724 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5725
5726         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
5727         config files which do the same thing.
5728         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5729         config/freebsd6.h: Remove now unnecessary files.
5730
5731 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5732
5733         * c-common.c (c_common_truthvalue_conversion): Warn if the
5734         address of a non-weak function is used as a truth value.
5735
5736 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
5737
5738         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
5739         a literal.
5740         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
5741         instead of a literal.
5742
5743 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
5744
5745         * doc/extend.texi (Function Attributes): Mention the exceptional
5746         path for noreturn-marked functions.
5747
5748 2003-10-12  Jan Hubicka  <jh@suse.cz>
5749
5750         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
5751         warning.
5752
5753 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
5754
5755         * config/i386/i386.c (x86_this_parameter): Fix typo.
5756
5757 203-10-11  Jan Hubicka  <jh@suse.cz>
5758
5759         * Makefile.in (web.o): New.
5760         * web.c: New file.
5761         * rtl.h (web_main): Declare.
5762         * timervar.def (TV_WEB): New.
5763         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
5764         (rest_of_hanle_web): New.
5765         (flag_web): New static variable.
5766         (lang_independent_options): Add "web".
5767         (rest_of_compilation): Call rest_of_handle_web.
5768         * invoke.texi (-fweb): Document.
5769         * common.opt (fweb): New.
5770         * flags.h (flag_web): New.
5771         * opts.c (decode_options): Set flag_web at -O3.
5772
5773         * passes.texi (web construction):  Document.
5774         * invoke.texi (-O3): Document that -fweb is enabled.
5775
5776         * regrename.c (regrename_optimize): Deal better with situation when
5777         replacement failed.
5778
5779         * sched-ebb.c: Include params.h and profile.h
5780         (schedule_ebbs):  Use tracer parameters to discover superblocks
5781         * Makefile.in (sched-ebb.o):  Add dependencies.
5782
5783 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5784
5785         * fold-const.c (negate_mathfn_p): New function to determine whether
5786         a built-in mathematical function is sign preserving, f(-x) == -f(x).
5787         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
5788         (tree_swap_operands_p): Change API to take an additional argument
5789         indicating that the swapped operands evaluate in reverse order.
5790         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
5791         operand side-effects or we don't care about flag_evaluation_order.
5792         (reorder_operands_p): New function to check whether its safe to
5793         evaluate the given operands in reverse order.
5794         (negate_expr_p):  We can always negate integer constants unless
5795         we honor -ftrapv and the signed type would overflow.  Only allow
5796         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
5797         negation of COMPLEX_CST if both real and imaginary parts can be
5798         negated.  Allow negation through floating point extensions and
5799         sign-preserving built-in functions.
5800         (negate_expr):  Move the code to negate integers from "fold" to
5801         here.  Always negate integer constants unless we honor -ftrapv
5802         and the signed type would overflow.  Always negate real constants
5803         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
5804         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
5805         Optimize negation through floating point extensions and
5806         sign-preserving built-in functions (as defined by negate_mathfn_p).
5807         (fold): Adjust calls to tree_swap_operands_p.
5808         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
5809         to negate_expr_p/negate_expr.
5810         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
5811         allowed to convert (-A) - B into (-B) - A.
5812
5813 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5814
5815         * builtins.c (expand_builtin_strcmp): Defend against the possibility
5816         that gen_cmpstrsi may fail: Stabilize the argument list against
5817         re-evaluation and expand the library call directly using this saved
5818         argument list if a cmpstrsi sequence can't be generated.
5819         (expand_builtin_strncmp): Likewise.
5820
5821         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
5822
5823 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5824
5825         PR optimization/12260
5826         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
5827         operations through CONST nodes.  Optimize (neg (plus X C)) as
5828         (minus -C X) for constant values C.
5829         (simplify_binary_operation): Optimize (minus (neg X) C) as
5830         (minus -C X) for constant values C.
5831         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
5832         instead create (minus -C X).
5833
5834 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5835
5836         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
5837         safe_from_p for us, once it chooses an evaluation order.
5838         (expand_expr <MULT_EXPR>): Likewise.
5839         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
5840         places the second operand in "target", swap the operands.
5841         (do_store_flag): Let expand_operands call safe_from_p for us.
5842
5843 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
5844
5845         PR optimization/12544
5846         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
5847         for DECL_NONLOCAL decls.
5848
5849 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5850
5851         * expr.c: Follow spelling conventions.
5852         * final.c: Likewise.
5853         * optabs.c: Likewise.
5854         * sched-deps.c: Likewise.
5855         * sdbout.c: Likewise.
5856
5857 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
5858
5859         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
5860         re-computing of variable.
5861
5862 2003-10-11  Richard Henderson  <rth@redhat.com>
5863
5864         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
5865         return_in_memory, make static, change signature to match target hook.
5866         (alpha_setup_incoming_varargs): Make static, change signature to
5867         match target hook, add code for vms and unicos.
5868         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
5869         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
5870         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
5871         TARGET_STRICT_ARGUMENT_NAMING,
5872         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
5873         * config/alpha/alpha-protos.h: Update.
5874         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
5875         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
5876         SETUP_INCOMING_VARARGS): Remove.
5877         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
5878         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
5879
5880 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
5881
5882         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
5883
5884 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5885
5886         * config/m68k/lb1sf68.asm: Follow spelling conventions.
5887         * config/m68k/m68k.c: Likewise.
5888         * config/m68k/m68k.h: Likewise.
5889         * config/m68k/m68k.md: Likewise.
5890
5891 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5892
5893         * builtins.c (expand_builtin_memcpy): Optimize case when the two
5894         pointer arguments are the equal, non-volatile and side-effect free.
5895         (expand_builtin_mempcpy): Likewise.
5896         (expand_builtin_memmove): Likewise.
5897         (expand_builtin_strcpy): Likewise.
5898         (expand_builtin_memcmp): Likewise.
5899         (expand_builtin_strcmp): Likewise.
5900         (expand_builtin_strncmp): Likewise.
5901
5902 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5903
5904         * combine.c (apply_distributive_law): Enable "distributive" floating
5905         point optimizations with -funsafe-math-optimizations.
5906
5907 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
5908
5909         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
5910
5911 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5912
5913         * config/m68k/m68k-protos.h: Remove the prototype for
5914         finalize_pic.
5915
5916 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5917
5918         * config/m68k/m68k.c: Fix comment typos.
5919
5920 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5921
5922         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5923         int to bool.
5924         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5925         (current_frame): New global var.
5926         (m68k_compute_frame_layout): Cache computations in current_frame.
5927         (m68k_initial_elimination_offset): Use values from current_frame
5928         instead of recomputing them.
5929         (use_return_insn): Likewise.
5930         (m68k_output_function_prologue): Likewise.
5931         (m68k_output_function_epilogue): Likewise.
5932         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5933         inside the block for __pic__.
5934
5935 2003-10-11  Peter Barada <peter@baradas.org>
5936             Bernardo Innocenti  <bernie@develer.com>
5937
5938         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5939         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5940         (m68k_interrupt_function_p): New function.
5941         (m68k_handle_fndecl_attribute): Ditto.
5942         (m68k_compute_frame_layout): Ditto.
5943         (m68k_attribute_table): Define back-end specific attributes.
5944         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5945         functions.
5946
5947 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5948
5949         * config/m68k/t-uclinux: New target Makefile fragment.
5950         * config/m68k/uclinux.h: New target macro file.
5951         * config.gcc (m68k-*-uclinux): New target definition.
5952
5953 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5954
5955         * builtins.c (builtin_mathfn_code): Generalize to check whether
5956         the call is to any built-in function by comparing the call's
5957         argument list against the builtin decl's function type.
5958
5959 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5960
5961         * cse.c (constant_pool_entries_regcost): New global variable to
5962         hold the register cost component of constant_pool_entries_cost.
5963         (fold_rtx): Calculate constant_pool_entries_regcost at the same
5964         time as constant_pool_entries_cost.
5965         (cse_insn): Set both src_folded_cost and src_folded_regcost from
5966         constant_pool_entries_cost and constant_pool_entries_regcost.
5967         (cse_main): Initialize constant_pool_entries_regcost to zero.
5968
5969         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5970         the semantics of the sequence of bit operations used to negate
5971         a floating-point value.
5972         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5973         the semantics of the bit operations used to abs a floating point
5974         value.
5975
5976 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5977             Paul Dale  <pauli@snapgear.com>
5978
5979         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5980         support.
5981         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5982         -fpic, -fPIC, -msep-data and -mid-shared-library.
5983         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5984         (override_options): Add -msep-data and -mshared-library-id support.
5985         (m68k_output_function_prologue): Generate code to load A5 for
5986         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5987         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5988         (m68k_output_pic_call): New function.
5989         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5990         (TARGET_ID_SHARED_LIBRARY): Ditto.
5991         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5992         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5993         (call_value): Likewise.
5994
5995 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5996
5997         * gengenrtl.c (find_formats, genheader): Make i an unsigned
5998         int, remove cast of NUM_RTX_CODE.
5999         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
6000         entire file.  Remove the #ifs on GET_MODE_MASK etc and
6001         GET_MODE_WIDER_MODE etc.
6002
6003 2003-10-10  Eric Christopher  <echristo@redhat.com>
6004
6005         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
6006         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
6007         that set mode.
6008         * config/sh/sh.h (MODE_ENTRY): New macro.
6009         (MODE_EXIT): Ditto.
6010         (MODE_AFTER): Ditto.
6011         * config/sh/sh.md: Change for MODE_AFTER. Add
6012         fp_set attribute.
6013         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
6014
6015 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
6016
6017         * genmodes.c, mode-classes.def: New files.
6018         * machmode.def: Rewritten to genmodes.c interface.
6019         * Makefile.in (extra_modes_file): New substitution variable.
6020         (MACHMODE_H): No longer includes machmode.def or
6021         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
6022         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
6023         (OBJS-common): Add insn-modes.o.
6024         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
6025         genmodes$(build_exeext).
6026         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
6027         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
6028         (s-genrtl): Don't depend on $(RTL_BASE_H).
6029         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
6030         or $(RTL_BASE_H); just rtl.def.
6031         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
6032         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
6033         substitute definition of NUM_RTX_CODE.  Add casts to avoid
6034         warnings.
6035         * machmode.h: Include insn-modes.h, not machmode.def.  Include
6036         mode-classes.def to define enum mode_class.  Tweak definitions
6037         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
6038         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
6039         (inner_mode_array): Renamed mode_inner.
6040         (mode_base_align): New.
6041         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
6042         mode_unit_size, mode_wider_mode, mode_mask_array,
6043         inner_mode_array, class_narrowest_mode): Delete definitions.
6044         * stor-layout.c (get_mode_alignment): Use mode_base_align.
6045         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
6046         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
6047
6048         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
6049         No need to define BITS_PER_UNIT.
6050
6051 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6052
6053         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
6054         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
6055         (ia64_initialize_trampoline): If not using GAS, declare trampoline
6056         as global.
6057         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
6058         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
6059
6060         * stor-layout.c (compute_record_mode): Don't force BLKmode if
6061         field is zero-length BLKmode.
6062         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
6063         zero-size references.
6064
6065         * combine.c (distribute_links): Properly test for REG being set.
6066
6067         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
6068         gen_lowpart and company except for REG.
6069
6070 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6071
6072         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
6073
6074 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
6075
6076         * config.gcc (mips*-*-netbsd*): Remove content-free line.
6077
6078 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
6079
6080         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
6081         gcov_position_t and gcov_type.
6082
6083 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
6084
6085         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
6086         * configure: Regenerate.
6087
6088 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
6089
6090         * config/h8300/h8300.md (define_asm_attributes): Specify
6091         the length of an asm insn more precisely.
6092
6093 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6094
6095         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
6096
6097 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
6098
6099         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
6100         FP register number to 48 and MAC16 accumulator to 0x210.
6101
6102 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
6103
6104         * config.gcc: Remove redundant thread_file setting clauses for
6105         various *-*-linux* targets.
6106
6107 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
6108
6109         * config/h8300/h8300.md (define_asm_attributes): New.
6110
6111 2003-10-09  Roger Sayle  <roger@eyesopen.com>
6112
6113         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
6114         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
6115
6116 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
6117
6118         * haifa-sched.c (ok_for_early_schedule): New function.
6119         (early_queue_to_ready): New function.
6120         (schedule_block): Allow early removal of insns from Q.
6121         (schedule_insn): Update INSN_TICK in case of premature
6122         issue.
6123         * common.opt (sched_stalled_insns): New flag.
6124         (sched_stalled_insns_dep): New flag.
6125         * flags.h: Same above flags.
6126         * opts.c: Same as above.
6127         * toplev.c: Same as above.
6128         * target.h (targetm.sched.is_costly_dependence): New
6129         hook.
6130         * target-def.h: Same as above.
6131         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
6132         Support new flag -msched-costly-dep.
6133         (DEFAULT_SCHED_COSTLY_DEP): Define.
6134         * config/rs6000/rs6000.c:
6135         (rs6000_is_costly_dependence): New function.
6136         (is_load_insn, is_store_insn): New functions.
6137         (is_load_insn1, is_store_insn1, is_mem_ref): New
6138         functions.
6139         * doc/invoke.texi (-fsched-stalled-insns-dep)
6140         (-fsched-stalled-insns, -msched-costly-dep): Document
6141         options.
6142         * doc/tm.texi (is_costly_dependence): Define new
6143         scheduler target hook.
6144
6145 2003-10-09  Jason Merrill  <jason@redhat.com>
6146
6147         PR c++/6392
6148         * c-common.c (c_build_qualified_type): Look through arrays first.
6149         (c_apply_type_quals_to_decl): Look through arrays.
6150
6151         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
6152         types with constructors.
6153
6154         * coverage.c (build_ctr_info_value): Use build_decl to make a
6155         VAR_DECL.
6156         (create_coverage): Likewise.
6157
6158         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
6159         here.
6160         (expand_asm_operands): Not here.
6161         (parse_input_constraint): No longer static.
6162         * tree.h: Declare it.
6163
6164 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
6165
6166         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
6167         libgcc_s.so.
6168         (SHLIB_INSTALL): Likewise.
6169
6170 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
6171
6172         * doc/install.texi: Remove reference to removed 'pthreads' thread
6173         option.
6174
6175 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
6176
6177         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
6178         operand 2.
6179
6180 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
6181
6182         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
6183         up related case statements.
6184         * configure.in: Don't accept --enable-threads=pthreads,
6185         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
6186         supported thread files in case clause.
6187         * configure: Regenerate.
6188
6189 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
6190
6191         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
6192         definition to above SPARC_STACK_BOUNDARY_HACK.
6193
6194 2003-10-08  Jason Merrill  <jason@redhat.com>
6195
6196         * c-pretty-print.c (pp_c_postfix_expression)
6197         <COMPOUND_LITERAL_EXPR>: Fix thinko.
6198
6199 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6200
6201         * mklibgcc.in: Don't hide undefined or typeless symbols.
6202
6203 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6204
6205         PR optimization/12142
6206         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
6207         uses of the register in the SET_SRC.  Remove unnecessary argument.
6208         * pa.c (legitimize_pic_address): Before reload, use a scratch register
6209         for the intermediate result in loading the address of a SYMBOL_REF.
6210         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
6211         which loads the SYMBOL_REF address.
6212
6213 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
6214             Eric Botcazou  <ebotcazou@libertysurf.fr>
6215
6216         PR bootstrap/12490
6217         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
6218         to define the size of the extern_C_braces array.  Set it to 200.
6219         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
6220
6221 2003-10-08  Carlo Wood  <carlo@alinoe.com>
6222
6223         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
6224         a space after the -o option.  flex 2.5.31 understands both, with
6225         and without the space. Removed that space.
6226
6227 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
6228
6229         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
6230         (compute_frame_size): Initialize it.  Remove the .cprestore slot
6231         from args_size.
6232         (mips_output_function_prologue): Simplify accordingly.
6233         (mips_debugger_offset): Change the mips16 frame pointer offset from
6234         current_function_outgoing_args to cfun->machine->frame.args_size.
6235         (mips_initial_elimination_offset): Likewise.
6236         (mips_expand_prologue): Likewise.
6237         (mips_expand_epilogue): Likewise.
6238
6239 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
6240
6241         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
6242         (EXTRA_MEMORY_CONSTRAINT): Define.
6243         (CAN_ELIMINATE): Remove lwu workaround.
6244         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
6245         Use a 'W' constraint for the source operand.
6246
6247 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
6248
6249         * genopinit.c (main): Output code to declare undefined
6250         variables.
6251
6252 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
6253
6254         * gengtype-lex.l: Remove -Wtraditional cruft.
6255         * Makefile.in (gengtype-lex.c): Likewise.
6256
6257 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6258
6259         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
6260
6261 2003-10-07  Jason Merrill  <jason@redhat.com>
6262
6263         PR c++/12519
6264         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
6265         it isn't a decl.
6266
6267 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
6268
6269         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
6270         not overridden.
6271         Fixes PR bootstrap/12173.
6272
6273 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
6274
6275         * errors.c: Don't include coretypes.h or tm.h.
6276         (trim_filename): Use IS_DIR_SEPARATOR.
6277         * Makefile.in: Update dependencies of errors.o and
6278         $(BUILD_PREFIX_1)errors.o.
6279
6280 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
6281
6282         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
6283         account when aligning arguments.
6284         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
6285         * defaults.h (STACK_POINTER_OFFSET): ... to here.
6286         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
6287         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
6288         (SPARC_STACK_BOUNDARY_HACK): Define.
6289         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
6290         arrange for vector parameters to varargs functions to be passed
6291         in both memory and GPRs when appropriate.
6292         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
6293         aligned.
6294
6295         * hooks.c (hook_bool_tree_true): New.
6296         (hook_rtx_tree_int_null): New.
6297         (hook_rtx_rtx_null): Use NULL, not 0.
6298         * hooks.h: Add 'extern' to everything.
6299         (hook_bool_tree_true): New.
6300         (hook_rtx_tree_int_null): New.
6301         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
6302         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
6303         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
6304         prototype.
6305         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
6306         (setup_incoming_varargs): Prototype.
6307         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
6308         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
6309         (TARGET_STRUCT_VALUE_RTX): Define.
6310         (TARGET_RETURN_IN_MEMORY): Define.
6311         (TARGET_SETUP_INCOMING_VARARGS): Define.
6312         (TARGET_STRICT_ARGUMENT_NAMING): Define.
6313         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
6314         (init_cumulative_args): Use rs6000_return_in_memory.
6315         (setup_incoming_varargs): Make 'static'.
6316         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
6317         (PROMOTE_FUNCTION_RETURN): Delete.
6318         (STRUCT_VALUE): Delete.
6319         (RETURN_IN_MEMORY): Delete.
6320         (SETUP_INCOMING_VARARGS): Delete.
6321
6322 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
6323
6324         * doc/invoke.texi (Warning Options): Simplify and clarify the
6325         descriptions of -Wnonnull and -Winit-self.
6326
6327 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
6328
6329         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
6330         indicees for floating-point conversersion libcalls.
6331
6332 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
6333
6334         * Makefile.in: Add more comments separating large conceptually
6335         separate sections.
6336
6337         * configure.in: Clean up thread file logic.
6338         * configure: Regenerate.
6339
6340 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
6341
6342         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
6343         (switch_to_section): Handle in_readonly_data.
6344         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
6345         readonly data.
6346
6347 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
6348
6349         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
6350         it.
6351         (cbranchne_decr1): New Thumb pattern.
6352         * arm.c (arm_addimm_operand): New insn predicate.
6353         * arm-protos.h: Add a prototype for it.
6354         * arm.h (PREDICATE_CODES): Add it.
6355
6356 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
6357
6358         * sched-int.h (sched_info): New field
6359         sched_max_insns_priority.
6360         * sched-rgn.c (init_ready_list): Add invocations to
6361         targetm.sched.adjust_priority.
6362         (sched_max_insns_priority): Init new field.
6363         * sched-ebb.c (sched_max_insns_priority): Init new field.
6364         * haifa-sched.c (set_priorities): Set
6365         sched_info->sched_max_insns_priority.
6366         * config/rs6000/rs6000.h:
6367         (rs6000_sched_restricted_insns_priority_str): Support new
6368         flag -mprioritize-restricted-insns.
6369         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
6370         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
6371         function.
6372         (rs6000_adjust_priority): Change priority of restricted
6373         insns, using above new function and new flag.
6374         * doc/invoke.texi (-mprioritize-restricted-insns): Document
6375         new option.
6376
6377 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
6378
6379         * expr.c (cmpstr_optab, cmpmem_optab): New.
6380         * genopinit.c: Initialize them.
6381         * optabs.h: Declare them.
6382         * optabs.c (init_optabs): Clear them.
6383         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
6384         block memory compare insns, not conditional chains.  Restructure
6385         the fallback generation of a call to memcmp/bcmp for better
6386         readability.
6387
6388 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
6389
6390         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
6391         (mips_save_restore_fn): New typedef.
6392         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
6393         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
6394         (save_restore_insns): Remove, replacing with...
6395         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
6396         (mips_save_reg, mips_restore_reg): New function.
6397         (mips_expand_prologue, mips_expand_epilogue): Rework.
6398         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
6399         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
6400         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
6401
6402 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
6403
6404         * config/mips/mips.c (mips_expand_prologue): Remove unused
6405         traversal of function arguments.
6406
6407 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
6408
6409         * doc/invoke.texi: Remove documentation of -mentry.
6410         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
6411         (override_options, mips_save_reg_p): Remove handling.
6412         (compute_frame_size, mips_output_function_prologue): Likewise.
6413         (mips_expand_prologue, mips_expand_epilogue): Likewise.
6414         * config/mips/mips.h (mips_entry_string): Remove declaration.
6415         (TARGET_OPTIONS): Remove -mentry.
6416         * config/mips/mips16.S: Remove mention of -mentry.
6417
6418 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
6419
6420         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
6421         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
6422         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
6423         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
6424         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
6425         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
6426         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
6427         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
6428         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
6429         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
6430         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
6431         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
6432         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
6433         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
6434         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
6435         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
6436         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
6437         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
6438         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
6439         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
6440         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
6441         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
6442         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
6443         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
6444         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
6445         (fixunstfti_libfunc): Delete.
6446         * optabs.h (struct optab_handlers): Break out of struct optab.
6447         (struct convert_optab, convert_optab, enum convert_optab_index,
6448         convert_optab_table, sext_optab, zext_optab, trunc_optab,
6449         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
6450         sfloat_optab, ufloat_optab): New.
6451         (set_conv_libfunc): Prototype.
6452         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
6453         (trunc_optab): Renamed btrunc_optab.
6454         * builtins.c (expand_builtin_mathfn): Update to match.
6455         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
6456         (convert_optab_table, new_convert_optab, init_convert_optab)
6457         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
6458         (set_conv_libfunc): New.
6459         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
6460         (expand_float, expand_fix): Use new conversion optabs,
6461         not old insn code tables or long chains of ifs.
6462         (init_optabs): No need to clear old insn code tables.
6463         Initialize the new optabs, not the old libfunc array entries.
6464         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
6465         * genopinit.c: Initialize conversion optabs, not the
6466         former insn code tables.  Remove unnecessary casts.
6467         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
6468         * expr.c (convert_move): Remove redundant check that
6469         to_real==from_real.  Use the conversion optabs instead
6470         of long chains of tests of modes.  Move partial-integer-mode
6471         interconversion above all integer conversion.  Do not recurse
6472         on a value forced into a register in the original mode.
6473
6474         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
6475         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6476         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
6477         in new conversion optabs; do not reference the old libfunc
6478         array entries.  No need to include libfuncs.h.
6479
6480 2003-10-06  Roger Sayle  <roger@eyesopen.com>
6481
6482         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
6483         point comparison sequence with a REG_EQUAL note that describes
6484         the comparison's semantics.
6485
6486 2003-10-06  Roger Sayle  <roger@eyesopen.com>
6487
6488         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
6489         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
6490
6491 2003-10-06  Roger Sayle  <roger@eyesopen.com>
6492             Zack Weinberg  <zack@codesourcery.com>
6493
6494         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
6495         instruction by using LCT_CONST and then calling emit_libcall_block
6496         ourselves.
6497
6498 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
6499
6500         PR optimization/11974
6501         * optabs.c (expand_unop): Promote libcall outmode according to
6502         hard_libcall_value.
6503
6504 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
6505
6506         * real.h (REAL_MODE_FORMAT): New macro.
6507         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
6508         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
6509         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
6510         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
6511         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
6512         directly to real_format_for_mode array, wherever possible.
6513
6514 2003-10-06  Devang Patel  <dpatel@apple.com>
6515
6516         * dwarf2out.c (is_main_source): Remove variable.
6517         (dwarf2out_start_source_file): Do not check is_main_source.
6518         Do not reset is_main_source.
6519         (dwarf2out_init): Do not initialize is_main_source.
6520
6521 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6522
6523         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
6524         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
6525         introduced some multi-line prototypes.
6526         * fixinc/fixincl.x: Regenerate.
6527
6528 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6529
6530         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
6531         * config/mips/mips.c (stack_operand): New predicate.
6532         * config/mips/mips.md: Use it for the destination of mips16 insns
6533         that store $31.
6534
6535 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6536
6537         * config/mips/mips.md (*lowsi): Renamed from lowsi.
6538         (*lowdi): Likewise lowdi.
6539         (*lowsi_mips16, *lowdi_mips16): New patterns.
6540         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
6541         mips16 CONSTANT_RELOC handling.
6542         (mips_delegitimize_address): Adjust for new sdata representation.
6543
6544 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6545
6546         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
6547         skip any remaining register arguments.
6548
6549 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
6550
6551         * reload.c (find_reloads_subreg_address): Use correct offset for
6552         paradoxical MEM subregs on big-endian targets.
6553
6554 2003-10-06  Andrew Haley  <aph@redhat.com>
6555
6556         * tree.c (get_callee_fndecl): Call
6557         lang_hooks.lang_get_callee_fndecl.
6558         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
6559         (lhd_get_callee_fndecl): New.
6560
6561 2003-10-06  Andrew Pinski  <apinski@apple.com>
6562
6563         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6564         error in calculating the length of the string.
6565         (machopic_stub_name): Likewise.
6566
6567 2003-10-06  Roger Sayle  <roger@eyesopen.com>
6568
6569         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
6570         describing the return value of the comparison libcall to the
6571         REG_RETVAL instruction of the emitted sequence.
6572
6573 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6574
6575         PR optimization/12215
6576         * cse.c (cse_set_around_loop): Emit the move at the beginning
6577         of the next basic block for trapping sets.
6578
6579 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6580
6581         PR optimization/11637
6582         * combine.c (adjust_for_new_dest): New function to adjust the
6583         notes and LOG_LINKS when the dest of an insn has changed.
6584         (try_combine): Use it when deleting the first insn of a two-insn
6585         parallel or splitting a two-load parallel.
6586
6587 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6588
6589         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
6590         if TARGET_EXPLICIT_RELOCS.
6591
6592 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
6593
6594         PR bootstrap/12512
6595         * Makefile.in (info): Use double-colon rules.
6596         (dvi): Likewise.
6597         (generated-manpages): Likewise.
6598         * configure.in: Do not create lang.info, lang.dvi, or
6599         lang.generated-manpages hooks.
6600         * configure: Regenerated.
6601         * objc/Make-lang.in (objc.info): Remove.
6602         (objc.dvi): Remove.
6603         (objc.generated-manpages): Remove.
6604         * doc/sourcebuild.texi: Update description of info, dvi, and
6605         generated-manpages hooks.
6606
6607 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6608
6609         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
6610
6611 2003-10-05  Andrew Pinski  <apinski@apple.com>
6612
6613         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6614         errors in memcpy destinations.
6615         (machopic_stub_name): Likewise.
6616
6617 2003-10-05  Andrew Pinski <apinski@apple.com>
6618
6619         * config/darwin.c (machopic_non_lazy_ptr_name):
6620         Change strcat to memcpy and add length together.
6621         (machopic_stub_name): Likewise.
6622
6623 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
6624
6625         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
6626         signal trampoline codes.
6627
6628 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
6629
6630         * config/mips/mips.md (*divsf3): Move description of
6631         SB-1 F2 erratum from here to...
6632         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
6633         flag_unsafe_math_optimizations is not.
6634
6635 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
6636
6637         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
6638         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
6639
6640 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6641
6642         * c-pretty-print.c: Fix comment typos.
6643         * c-pretty-print.h: Likewise.
6644         * calls.c: Likewise.
6645         * cfgloopmanip.c: Likewise.
6646         * cgraphunit.c: Likewise.
6647         * cppfiles.c: Likewise.
6648         * final.c: Likewise.
6649         * function.c: Likewise.
6650         * gcov-io.h: Likewise.
6651         * gcse.c: Likewise.
6652         * genoutput.c: Likewise.
6653         * loop.c: Likewise.
6654         * postreload.c: Likewise.
6655         * reg-stack.c: Likewise.
6656         * regmove.c: Likewise.
6657         * sched-int.h: Likewise.
6658         * sched-rgn.c: Likewise.
6659         * simplify-rtx.c: Likewise.
6660         * tree-inline.c: Likewise.
6661         * config/m68hc11/m68hc11.h: Likewise.
6662         * config/mmix/mmix.c: Likewise.
6663         * config/mn10300/mn10300.md: Likewise.
6664         * config/sh/sh.h: Likewise.
6665
6666 2003-10-05  Richard Henderson  <rth@redhat.com>
6667
6668         * tree-inline.c (remap_type): New.
6669         (remap_decl): Use it.  Remap DECL_SIZE*.
6670         (copy_body_r): Use it.
6671         (walk_tree): Walk TREE_TYPE too.
6672         (copy_tree_r): Don't walk subtrees of types.
6673         * tree.c (variably_modified_type_p): Restructure.  Consider integer
6674         types with non-const bounds variably modified.
6675
6676 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6677
6678         * doc/invoke.texi: Fix typos.
6679
6680 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6681
6682         * fold-const.c: Follow spelling conventions.
6683         * function.c: Likewise.
6684         * config/c4x/c4x.h: Likewise.
6685         * config/c4x/c4x.md: Likewise.
6686         * config/frv/frv.md: Likewise.
6687         * config/rs6000/aix.h: Likewise.
6688         * config/rs6000/linux64.h: Likewise.
6689         * config/xtensa/xtensa.c: Likewise.
6690
6691 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6692
6693         * c-pretty-print.c: Fix comment formatting.
6694         * cfglayout.c: Likewise.
6695         * cfgloopanal.c: Likewise.
6696         * cppcharset.c: Likewise.
6697         * dbxout.c: Likewise.
6698         * ggc-page.c: Likewise.
6699         * ggc.h: Likewise.
6700         * target.h: Likewise.
6701
6702 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
6703
6704         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
6705
6706 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
6707
6708         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
6709         Convert to ISO C90 function declarations and definitions.
6710
6711 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
6712
6713         * libfuncs.h
6714         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
6715         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
6716         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
6717         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
6718         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
6719         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
6720         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
6721         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
6722         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
6723         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
6724         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
6725         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
6726         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
6727         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
6728         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
6729         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
6730         Delete.
6731         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
6732         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
6733         (le_optab, unord_optab): New.
6734
6735         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
6736         from the code_to_optab table, not a giant switch; use
6737         swap_condition; do widening only if a comparison function that
6738         we can call exists in a wider mode, not if a cmp_optab insn or
6739         libfunc exists in a wider mode; call protect_from_queue
6740         exactly once on each operand.
6741         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
6742
6743         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
6744         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
6745         Set floating point comparison libfuncs using set_optab_libfunc
6746         on the appropriate optab.
6747
6748         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
6749         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
6750         selector conditionals.
6751
6752 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
6753
6754         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
6755         identical to m68hc12 as far as libraries are concerned.
6756
6757 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6758
6759         PR c/12446
6760         * c-typeck.c (convert_for_assignment): Issue an error for
6761         array to pointer assignment after default conversion.
6762         (digest_init): Likewise.
6763
6764 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
6765
6766         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
6767
6768 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
6769
6770         * doc/extend.texi (Function Attributes): Fix title of GNU C
6771         Preprocessor manual.
6772         (C++ Extensions): Fix reference to "Predefined Macros" in the
6773         GNU C Preprocessor manual.
6774
6775 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
6776
6777         * doc/extend.texi: Document how GCC estimates and relies on the size
6778         of an asm.
6779
6780 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
6781
6782         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
6783         arguments downward for big-endian o64.
6784
6785 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
6786
6787         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
6788         PCH generation, avoiding too-frequent flushes when writing to NFS
6789         file system.
6790
6791 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
6792
6793         * objc/objc-act.c (lookup_category): Mark as 'inline'.
6794
6795 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
6796             Ziemowit Laski  <zlaski@apple.com>
6797
6798         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
6799         New functions.
6800         (lookup_method_in_hash_lists): New parameter indicating whether
6801         we are messaging 'Class' or 'id'.
6802         (check_duplicates): Likewise; do not assume all methods will
6803         be either class or instance methods.
6804         (generate_category, finish_class): Use lookup_category().
6805         (add_method): Use add_method_to_hash_list(); insert instance
6806         methods of root classes into the global class method hash table.
6807         (add_category): Use lookup_category(); avoid constructing
6808         duplicate categories.
6809         (really_start_method): Add method to corresponding @interface,
6810         if not already there (and if the @interface exists).
6811         (finish_message_expr, finish_objc): Adjust calls to
6812         check_duplicates().
6813
6814 2003-10-03  Roger Sayle  <roger@eyesopen.com>
6815
6816         PR optimization/9325, PR java/6391
6817         * fold-const.c (fold_convert): For floating point to integer
6818         conversions, return the maximum/minimum representable integer
6819         value if the real constant overflows the destination type.
6820         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
6821         meaning don't truncate the result to a floating point mode.
6822         Simplify the logic by calling real_from_integer directly.
6823         * simplify-rtx.c (simplify_unary_operation):  Implement the
6824         same semantics for folding floating point to integer conversions
6825         in RTL.
6826
6827 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
6828
6829         * config/mips/mips.c (mips_emit_prefetch): Restructure
6830         to avoid use of arrays, handle indexed prefetch.
6831         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
6832         (ISA_HAS_PREFETCHX): New deffine.
6833         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
6834         update comments.
6835         (prefetch_indexed_di, prefetch_indexed_si): New insns.
6836
6837 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
6838             Roger Sayle  <roger@eyesopen.com>
6839
6840         PR optimization/12289
6841         * calls.c (emit_call_1): Pretend to have popped the arguments
6842         to noreturn and longjmp functions instead of ignoring them.
6843         (expand_call): Don't adjust stack_pointer_dela while
6844         inhibit_defer_pop is set.
6845
6846 2003-10-03  Andreas Schwab  <schwab@suse.de>
6847
6848         PR bootstrap/12276
6849         * configure.in: Check for libunwind on the host only if building
6850         a native compiler.
6851         * configure: Regenerated.
6852
6853 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
6854
6855         * unwind-pe.h (read_encoded_value_with_base): Constify u and
6856         its inizialization cast.
6857
6858 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
6859
6860         PR target/12485
6861         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
6862
6863 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
6864
6865         PR optimization/12180
6866         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
6867         functions containing calls to __builtin_next_arg.
6868
6869 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
6870
6871         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
6872         in instructions being output.
6873         * config/mips/mips.md (prefetch_si_address): Change third
6874         operand's constraint letter to 'I'.
6875         (prefetch_di_address): Likewise.
6876         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
6877
6878 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
6879
6880         * system.h: Poison macros obsoleted by earlier patch.
6881         * config/cris/cris.c: C90-ify a function definition.
6882
6883 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6884
6885         PR/12292
6886         * combine.c (make_field_assignment): Check whether rtx's code
6887         is CONST_INT before using INTVAL.
6888
6889 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6890
6891         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
6892         htab_find_slot_with_hash.
6893         (cgraph_node_for_identifier): Use NO_INSERT.
6894         (cgraph_remove_node): Use NO_INSERT.
6895         (cgraph_varpool_node): Use INSERT.
6896         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
6897
6898 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6899
6900         Waldek Hebisch <hebisch@math.uni.wroc.pl>
6901         PR/12072
6902         * varasm.c (compare_constant): Fix thinko.
6903
6904 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6905
6906         * config/frv/frv.c (frv_issue_rate): New function.
6907         (frv_pack_insns): Use it.
6908         (TARGET_SCHED_ISSUE_RATE): Define.
6909
6910 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6911
6912         * config/mcore/mcore.c: Convert to ISO C90 function declarations
6913         and definitions.
6914         * config/mcore/mcore.h: Likewise.
6915         * config/mcore/mcore-protos.h: Likewise.
6916
6917 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6918
6919         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
6920         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6921
6922 2003-10-01  Per Bothner  <pbothner@apple.com>
6923
6924         * c-lex.c (src_line):   Remove unneeded static variable.
6925         (cb_line_change):  Set input_line directly, instead of src_line.
6926         (get_non_padding_token):  We no longer need to compensate for the
6927         "horrible things" the C++ front-end does with the current line number,
6928
6929         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
6930         callback even when popping the main file.
6931         * c-lex.c (fe_file_change):  Handle a NULL new_map.
6932         * fix-header.c (cb_file_change):  Likewise.
6933         * c-ppoutput.c (pp_file_change):  Likewise.
6934
6935         * cppinit.c (cpp_read_main_file):  Split into two functions:
6936         Distribute _cpp_stack_file call over the two functions.
6937         (cpp_find_main_file):  New function.
6938         Don't call _cpp_do_file_change even if working_directory flag set.
6939         (cpp_push_main_file):  New function.
6940         * cppfiles.c (_cpp_find_failed):  New helper function.
6941         (find_file):  Made non-static and renamed to _cpp_find_file.
6942         (_cpp_stack_file):  No longer needed.  But note the following.
6943         (stack_file):  Made non-static and renamed to _cpp_stack_file.
6944         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
6945         call with calls to cpp_find_main_file and cpp_push_main_file.
6946         (search_path_head):  If there is no current buffer, use main_file.
6947         * cpphash.h:  Update function declarations.
6948         * cpplib.h:  Update function declarations.
6949
6950         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
6951         (c_common_parse_file):  No longer need to call cpp_read_main_file
6952         when file_index > 0 (as in multi-file or server compiation).
6953         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
6954         as this now happens before cpp_push_main_file.
6955         (push_command_line_include):  When done with options, pass LC_LEAVE
6956         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6957         (fe_file_change):  Handle NULL new_map, and simplify.
6958         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
6959         08-28 change, since we're never called with a NULL buffer.
6960         (_cpp_lex_direct):  Likewise.
6961         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6962         Return false if buffer is NULL at end.
6963
6964         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
6965         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6966         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
6967         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
6968         remove the unused return_at_eof parameter.
6969         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6970         Update callers of cpp_push_buffer.
6971
6972 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6973
6974         * target.h (init_libfuncs): New hook.
6975         * target-def.h: Default TARGET_INIT_BUILTINS and
6976         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
6977         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6978         * builtins.c (default_init_builtins): Delete.
6979         * expr.h (default_init_builtins): Delete prototype.
6980         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6981         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6982         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6983         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6984         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6985         and UMODDI3_LIBCALL,
6986
6987         * Makefile.in (optabs.o): Depends on target.h.
6988         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6989         * optabs.c: Include target.h.
6990         (prepare_float_lib_cmp): No need for #ifdef around use of
6991         FLOAT_LIB_COMPARE_RETURNS_BOOL.
6992         (set_optab_libfunc): New function.
6993         (init_optabs): Delete use of all *_LIBCALL defines.
6994         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6995         * optabs.h: Prototype set_optab_libfunc.
6996
6997         * config.gcc: Remove all references to pa/long_double.h,
6998         ia64/hpux_longdouble.h, and gofast.h.
6999         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
7000         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
7001
7002         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
7003         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
7004         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
7005         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
7006         * config/sparc/sparc.c, config/vax/vax.c:
7007         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
7008         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
7009
7010         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
7011         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
7012         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
7013         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
7014         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
7015         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
7016         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
7017         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
7018         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
7019
7020         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
7021         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
7022         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
7023         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
7024         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
7025
7026         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
7027         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
7028         SUN_INTEGER_MULTIPLY_64 to 0.
7029         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
7030         SUN_INTEGER_MULTIPLY_64 to 1.
7031         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
7032         SUN_INTEGER_MULTIPLY_64 to 0.
7033         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
7034         Define US_SOFTWARE_GOFAST.
7035         * config/vax/vax.h: Default TARGET_ELF to 0.
7036         * config/vax/elf.h: Redefine TARGET_ELF to 1.
7037
7038         * config/gofast.h: Don't define any macros here.  Provide one
7039         static function, gofast_maybe_init_libfuncs, which does what
7040         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
7041         is already defined.  Do not clear negation libfuncs.  Do
7042         not mess with HFmode, XFmode, or TFmode libfuncs.
7043
7044         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
7045
7046 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
7047
7048         PR C/12466
7049         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
7050
7051 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7052
7053         * config/mips/xm-iris5.h: Remove, unnecessary.
7054         * config.build (mips-sgi-irix5*): Remove.
7055         (mips-sgi-irix6*o32): Likewise.
7056         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
7057         (mips-sgi-irix5cross64): Likewise.
7058         (mips-sgi-irix5*): Likewise.
7059         * config.host (mips-sgi-irix5*): Remove.
7060         (mips-sgi-irix6*o32): Likewise.
7061
7062 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
7063
7064         * dbxout.c (dbxout_fptype_value): Delete.
7065         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
7066
7067 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
7068
7069         * output.h (compute_reloc_for_constant): Declare.
7070         * varasm.c (compute_reloc_for_constant): Extract from...
7071         (output_addressed_constants): ... here.  Adjust all callers.
7072
7073 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7074
7075         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
7076         * configure: Rebuilt.
7077
7078 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7079
7080         * fold-const.c (make_range): When handling unsigned, don't reverse
7081         range if high bound is zero.
7082
7083 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
7084
7085         * config/frv/frv.h (PREDICATE_CODES): Added
7086         condexec_si_media_operator, condexec_sf_add_operator and
7087         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
7088         and condexec_sf_unary_operator.
7089
7090 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7091
7092         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
7093         * configure: Rebuilt.
7094
7095 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7096
7097         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
7098         Allow override.
7099         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
7100
7101 2003-09-23  David S. Miller  <davem@redhat.com>
7102
7103         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
7104         before redefining.
7105         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
7106
7107 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
7108
7109         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
7110         C90 function declarations and definitions.
7111
7112 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
7113
7114         * config.gcc (cris-*-linux*): Revert mistaken commit.
7115
7116 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
7117
7118         PR optimization/11753
7119         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
7120         the length in the non-V9 case.
7121
7122 2003-09-30  Richard Henderson  <rth@redhat.com>
7123
7124         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
7125         DWARF_ALT_FRAME_RETURN_COLUMN.
7126         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
7127         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
7128         (uw_frame_state_for): Return end-of-stack for null return address.
7129         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
7130
7131         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
7132         (alpha_expand_prologue): Store a zero for it.
7133         (alpha_expand_epilogue): Don't reload it.
7134         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
7135         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
7136         for the sigframe return address.
7137
7138 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
7139
7140         * sdbout.c: Convert to ISO C90 prototypes.
7141         * objc/objc-act.c: Likewise.
7142
7143 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
7144
7145         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
7146         * config/i386/winnt.c: Likewise.
7147         * config/i386/cygming.h: Likewise.
7148
7149 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
7150
7151         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
7152         (A ^ B) - B for any B.
7153
7154 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
7155
7156         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
7157         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
7158
7159 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
7160
7161         * arm/ieee754-sf.S: Tidy formatting.
7162
7163 2003-09-30  Nicolas Pitre  <nico@cam.org>
7164
7165         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
7166         and ARM_MOD_BODY.
7167         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
7168         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
7169         added better divisor alignment in the other case.
7170         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
7171         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
7172         macros above, add fast exits for divisor >= dividend, etc.
7173
7174 2003-09-30  Nicolas Pitre  <nico@cam.org>
7175
7176         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
7177         L_fixdfsi target.
7178         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
7179
7180 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
7181
7182         * config.gcc: Default use_fixproto to 'no'.
7183
7184 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
7185
7186         PR optimization/12345
7187         * config/mips/mips-protos.h (mips_restore_gp): Remove.
7188         (mips_gp_save_slot): Declare.
7189         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
7190         (mips_gp_save_slot): ...this new function.
7191         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
7192         and mips_output_move to generate the output template.
7193         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
7194         a gp load after a noreturn call.  Load the gp using a move rather
7195         than an exception_receiver pattern.
7196         (call_value_internal, call_value_multiple_internal): Likewise.
7197         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
7198
7199 2003-09-30  Carlo Wood  <carlo@alinoe.com>
7200
7201         PR debug/12319
7202         * cfglayout.c (insn_scope):  Use prologue_locator and
7203         epilogue_locator; return the outer function scope for
7204         pro- and epilogue insns.
7205
7206 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
7207
7208         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
7209         REAL_TYPEs based on the bitsize of the type's mode, not the
7210         mode directly.
7211
7212 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7213
7214         * dwarf2out.c (default_eh_frame_section): Split into ...
7215         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
7216         functions.
7217         * output.h (named_section_eh_frame_section): Declare.
7218         (collect2_eh_frame_section): Likewise.
7219
7220 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
7221
7222         * real.c (real_sqrt): Use get_canonical_qnan directly.
7223
7224         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
7225
7226         * varasm.c (assemble_real): Use real_to_target directly,
7227         calculate the number of significant elements of the result
7228         array and write them out in a loop, instead of using a giant
7229         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
7230         macro.
7231
7232 2003-09-29  Jan Hubicka  <jh@suse.cz>
7233
7234         PR c++/12175
7235         * varasm.c (notice_global_symbol): Discard external symbols.
7236
7237         PR optimization/12286
7238         * gcov-io.c (gcov_read_words): Fix memmove call.
7239         * profile.c (compute_branch_probabilities): Add extra sanity checks.
7240
7241 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7242
7243         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
7244         Solaris 7-9.
7245
7246         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
7247         wildcards which explicitly match micro versions.
7248         * fixinc/fixincl.x: Regenerate.
7249
7250 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
7251
7252         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
7253         (A ^ B) - B, where B is any power of 2 minus 1.
7254
7255 2003-09-29  Jan Hubicka  <jh@suse.cz>
7256
7257         * libgcov.c (gcov_exit): Fix two pastos.
7258
7259 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
7260
7261         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
7262         define_split immediately below to form define_insn_and_split.
7263
7264 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
7265
7266         * config/h8300/h8300.md (*tstsi_variable_bit): New.
7267         (*tstsi_variable_bit_qi): Likewise.
7268
7269 2003-09-28  Phil Edwards  <phil@codesourcery.com>
7270
7271         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
7272         reference name.
7273
7274 2003-09-28  Richard Henderson  <rth@redhat.com>
7275
7276         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
7277         file and line separately.
7278
7279 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
7280
7281         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
7282         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
7283         "*subdi3_borrow_cconly"): New insns.
7284         ("*addsi3_sub", "*subsi3_sub"): Remove.
7285         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
7286         ("*subsi3_cc"): Fix op_type attribute.
7287
7288 2003-09-28  Richard Henderson  <rth@redhat.com>
7289
7290         * stmt.c (expand_asm_operands): Take a location_t, instead of
7291         individual file and line.
7292         * c-typeck.c (c_expand_asm_operands): Likewise.
7293         * tree.h (expand_asm_operands): Update decl.
7294         * c-common.h (c_expand_asm_operands): Likewise.
7295         * c-semantics (genrtl_asm_stmt): Update call.
7296
7297 2003-09-28  Philip Blundell  <philb@gnu.org>
7298
7299         * config/arm/arm.c (legitimize_pic_address): Check
7300         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
7301         (arm_assemble_integer): Likewise.
7302
7303 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
7304
7305         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
7306         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
7307         config/c4x/c4x.h:
7308         Convert to ISO C90 function declarations and definitions.
7309
7310 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
7311
7312         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
7313         Convert to ISO C90 function declarations and definitions.
7314
7315 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
7316
7317         * config/mips/mips.c (mips_constant_info): Add reloc field.
7318         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
7319         underlying symbol, not to an unspec.
7320         (mips_delegitimize_address, print_operand): Clean up accordingly.
7321
7322 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
7323
7324         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
7325         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
7326         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
7327         (mips_classify_constant): Use it.
7328         (mips_splittable_symbol_p): Add an offset argument.
7329         (mips_classify_address): Adjust call accordingly.
7330         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
7331         than a relocation unspec.  Update call to mips_splittable_symbol_p.
7332         Generalize the code that copes with symbols + invalid offsets.
7333         (print_operand): Allow '%R' to be applied to small data addresses.
7334         (mips_reloc_string): Remove RELOC_GPREL16.
7335         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
7336         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
7337         relocation operators.
7338         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
7339         constants accordingly.
7340
7341 2003-09-27  Roger Sayle  <roger@eyesopen.com>
7342
7343         * toplev.c (flag_evaluation_order): New global variable.
7344         * flags.h (flag_evaluation_order): Prototype here.
7345         * expr.c (expand_operands): If we need to preserve observable
7346         evaluation order, protect exp1 from clobbering exp0's result.
7347
7348 2003-09-28  Andreas Jaeger  <aj@suse.de>
7349
7350         * c-decl.c (finish_function): Convert definition to ISO C90.
7351         * ifcvt.c (mark_loop_exit_edges): Likewise.
7352         * ra-rewrite.c (emit_colors): Likewise.
7353
7354 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
7355
7356         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
7357         * config.gcc (arm*-*-uclinux*): Disable fixproto.
7358         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
7359         powerpc-*-eabialtivec*): Disable fixproto.
7360
7361 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
7362
7363         PR optimization/12340
7364         * loop.h (struct induction): Document the new semantics
7365         of the 'same' field for bivs.
7366         * unroll.c (biv_total_increment): Don't count the same
7367         biv increment several times.
7368         (loop_iterations) [GENERAL_INDUCT]: Likewise.
7369
7370 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
7371
7372         * unroll.c (loop_interations)[GT]: Add missing break.
7373
7374 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
7375
7376         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
7377         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
7378         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
7379         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
7380         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
7381         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
7382         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
7383         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
7384         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
7385         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
7386         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
7387         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
7388         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
7389         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
7390         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
7391         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
7392         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
7393         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
7394         config/alpha/xm-vms.h, config/arc/arc-modes.def,
7395         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
7396         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
7397         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
7398         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
7399         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
7400         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
7401         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
7402         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
7403         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
7404         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
7405         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
7406         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
7407         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
7408         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
7409         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
7410         config/i960/i960-c.c, config/i960/i960-coff.h,
7411         config/i960/i960-modes.def, config/i960/i960-protos.h,
7412         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
7413         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
7414         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
7415         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
7416         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
7417         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
7418         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
7419         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
7420         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
7421         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
7422         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
7423         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
7424         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
7425         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
7426         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
7427         config/mcore/mcore-protos.h, config/mcore/mcore.c,
7428         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
7429         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
7430         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
7431         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
7432         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
7433         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
7434         config/mips/vr.h, config/mn10300/linux.h,
7435         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
7436         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
7437         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
7438         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
7439         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
7440         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
7441         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
7442         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
7443         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
7444         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
7445         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
7446         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
7447         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
7448         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
7449         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
7450         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
7451         fixinc/fixinc.svr4: GNU CC -> GCC.
7452
7453 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
7454
7455         * objc/objc-act.c (tm_p.h): Tweak order.
7456         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
7457
7458 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
7459
7460         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
7461         Include t-slibgcc-elf-ver and t-linux in tmake_file.
7462         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
7463         Disable fixproto.
7464         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
7465         Disable fixproto.
7466         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
7467         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
7468
7469         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
7470
7471 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
7472
7473         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
7474         * objc/objc-act.c (tm_p.h): Include.
7475
7476 2003-09-26  Per Bothner  <pbothner@apple.com>
7477
7478         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
7479         No longer any need to reverse by recursion.
7480
7481 2003-09-26  Roger Sayle  <roger@eyesopen.com>
7482             Richard Henderson  <rth@redhat.com>
7483
7484         PR optimization/11741
7485         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
7486         appropriate set to match that in hash_scan_insn.  Fall back to
7487         the original copy method, if we can't validate changing insn.
7488         (pre_delete): Only delete instructions that have a single_set,
7489         instead of aborting when we encounter an PARALLEL insn with more
7490         then one SET.
7491
7492 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
7493
7494         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
7495         ("builtin_longjmp"): Insn deleted.
7496         ("save_stack_nonlocal"): Save literal pool base pointer behind
7497         backchain and stack pointer.
7498         ("restore_stack_nonlocal"): Restore literal pool base pointer.
7499         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
7500         the stack save area for the nonlocal goto case.
7501
7502 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7503
7504         PR bootstrap/12358
7505         * pa.c (output_bvb): Fix typo.
7506
7507 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
7508
7509         * expmed.c (store_bit_field): Don't search for an integer mode
7510         unless we need the result.
7511
7512 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
7513
7514         * expr.c (emit_move_insn_1): If there is no move pattern for the
7515         original mode, try using a pattern for the corresponding integer mode.
7516
7517 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
7518
7519         PR middle-end/9200
7520         * combine.c (if_then_else_cond): Tighten mode check.
7521
7522 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7523
7524         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
7525         'struct _cpp_strbuf'.
7526
7527         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7528         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
7529         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
7530         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
7531         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
7532         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
7533         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
7534         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
7535         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
7536         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
7537         * config/i386/i386-aout.h, config/i386/i386-coff.h,
7538         config/i386/i386-interix.h, config/i386/i386-interix3.h,
7539         config/i386/i386-modes.def, config/i386/i386-protos.h,
7540         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
7541         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
7542         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
7543         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
7544         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
7545         "GNU compiler" -> GCC.
7546         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
7547         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
7548         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
7549         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
7550         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7551         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
7552
7553 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
7554
7555         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
7556         "local" to the callgraph dump.  Output "after inlining" earlier.
7557         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
7558         callgraph dumps.  Correct misspellings.
7559         (cgraph_decide_inlining):  Output number of insns before inlining.
7560         Output the calling function into which a function is inlined.
7561         (cgraph_decide_small_functions): Format dump file like always_inline.
7562
7563 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
7564
7565         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
7566
7567 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
7568
7569         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
7570         FPR slots in the save area.
7571         (s390_emit_epilogue): Likewise.
7572
7573 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
7574
7575         * cgraph.h (cgraph_remove_edge): Declare.
7576         * cgraph.c (cgraph_remove_edge): Make extern.
7577         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
7578         instead of cgraph_remove_call.
7579
7580 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
7581
7582         * objc/objc-act.c (gen_declaration_1): Fix printf format.
7583
7584 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
7585
7586         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
7587         arm7tdmi core.
7588
7589 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7590
7591         * config/darwin-protos.h (objc_image_info_section):
7592         New prototype.
7593
7594 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7595
7596         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
7597
7598 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7599
7600         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
7601         tsc701 as a --with-cpu, --with-tune setting for sparc.
7602
7603 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7604
7605         * c-parse.in (objc_try_stmt): Do not specify a %type.
7606
7607 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7608
7609         * config.gcc: New 'widely ported system' clause for rtems.
7610         Set thread file there, not in individual clauses.
7611
7612 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
7613
7614         PR target/6222
7615         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
7616         passed on the stack.
7617
7618 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7619
7620         * config.gcc (widely ported systems section): Mostly alphabetize
7621         by system.  Comment the case where we can't.
7622         * config.gcc (widely ported systems section): Reindent and clean up.
7623
7624         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
7625         Actually allow ep9312 as an arm --with-arch setting.
7626
7627         * config.gcc (*-hpux11): Disable fixproto.
7628
7629 2003-09-24  Phil Edwards  <phil@codesourcery.com>
7630
7631         PR pch/12112
7632         * gcc/cppfiles.c (pch_open_file): Return based on combined
7633         result of all files.
7634         (validate_pch): Return validate flag for current file.
7635
7636 2003-09-24  Roger Sayle  <roger@eyesopen.com>
7637
7638         PR bootstrap/12358
7639         * fold-const.c (tree_swap_operands_p): Only reorder operands when
7640         one of the operands is constant.
7641
7642 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
7643
7644         MERGE OF objc-improvements-branch into MAINLINE:
7645         * Makefile.in (C_OBJS): Add in stub-objc.o.
7646         (c-parse.y): Change sed demarcations to begin with '@@'.
7647         (stub-objc.o): New rule.
7648         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7649         flag_replace_objc_classes): New flags.
7650         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
7651         RID_AT_SYNCHRONIZED): New keywords.
7652         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7653         flag_replace_objc_classes): New flags.
7654         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
7655         objc_comptypes, objc_message_selector, lookup_objc_ivar,
7656         get_current_scope, objc_mark_locals_volatile): New prototypes,
7657         some moved from c-tree.h.
7658         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
7659         (finish_decl): Adjust where objc_check_decl() gets called.
7660         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
7661         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
7662         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
7663         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
7664         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
7665         '@@end_ifc', respectively.
7666         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
7667         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
7668         objc_finally_block): New rules.
7669         (component_decl_list2): Clean up semantic action for @defs construct.
7670         (component_decl, c99_block_start): Remove call to add_objc_decls().
7671         (poplevel): Add call to objc_clear_super_receiver().
7672         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
7673         constructs.
7674         (classdef, methodprotolist): Clean up/simplify.
7675         (methodprotolist2): Eliminate.
7676         (methodproto): Call add_method() instead of add_class_method() and
7677         add_instance_method().
7678         (receiver): Add TYPENAME production.
7679         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
7680         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
7681         AT_SYNCHRONIZED.
7682         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7683         objc_comptypes, objc_message_selector)
7684         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
7685         struct and pointer types.
7686         (build_c_cast): Do not discard ObjC protocol qualifiers.
7687         (convert_for_assignment): Cache result of comp_target_types() instead
7688         of calling it more than once.
7689         * c.opt (fnext-runtime): Update description string.
7690         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
7691         New ObjC/ObjC++-specific flags.
7692         * function.h (GCC_FUNCTION_H): Header guard.
7693         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
7694         * stub-objc.c: New file, to be used to satisfy references to ObjC
7695         functions by the C and C++ front-ends.
7696         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
7697         * config/darwin.h (FUNCTION): Add in_objc_image_info.
7698         (SECTION_FUNCTION): Add objc_image_info_section.
7699         * doc/invoke.texi: Link to GCC web site for Objective-C information.
7700         (-fconstant-string-class): Update documentation.
7701         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
7702         -fzero-link): New documentation.
7703         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
7704         with '@@'.
7705         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
7706         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
7707         throughout; provide casts for return values from memory allocation
7708         functions (xmalloc, alloca, ggc_alloc, etc.).
7709         (OBJC_VOID_AT_END): New macro.
7710         (rtl.h): Do not #include any more.
7711         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
7712         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
7713         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
7714         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
7715         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
7716         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
7717         val_stack_pop): New.
7718         (objc_check_decl): Fix precondition for error message, along with
7719         the message itself.
7720         (lookup_and_install_protocols): Remove nonexistent protocols from
7721         protocol list instead of returning error_mark_node.
7722         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
7723         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
7724         (synth_module_prologue): General clean-up; construct NeXT-specific
7725         runtime API prototypes if needed.
7726         (build_string_class_template): Remove.
7727         (check_string_class_template, string_layout_checked): New.
7728         (build_objc_string_object): Generalize to work with
7729         -fconstant-string-class.
7730         (build_objc_symtab_template): Fix layout for the NeXT runtime.
7731         (build_metadata_decl): New.
7732         (forward_declare_categories): Call build_metadata_decl() instead of
7733         create_builtin_decl() et al.
7734         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
7735         void_list_node_1.
7736         (build_selector_reference_decl, build_class_reference_decl,
7737         build_objc_string_decl): Do not set TREE_READONLY.
7738         (get_proto_encoding): Do not call hack_method_prototype().
7739         (get_class_reference): Add failure mode for invalid class names;
7740         support -fzero-link; defer if in an ObjC++ template declaration.
7741         (objc_declare_alias, objc_declare_class): Fix up duplicate name
7742         lookup; check for global scope if in ObjC++.
7743         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
7744         RECORD_TYPE, IDENTIFIER_NODE, etc.)
7745         (objc_is_id): Removed.
7746         (objc_is_object_ptr): New function.
7747         (get_class_ivars_from_name): New function, used for @defs construct.
7748         (get_class_ivars): Add option to return raw ivars; create a
7749         ClASS_OWN_IVARS list for each class as needed.
7750         (objc_enter_block, objc_exit_block, objc_declare_variable,
7751         objc_build_throw_stmt, val_stack_push, val_stack_pop,
7752         objc_build_try_enter_fragment, objc_build_extract_expr,
7753         objc_build_try_exit_fragment, objc_build_extract_fragment,
7754         objc_build_try_prologue, objc_build_try_epilogue,
7755         objc_build_catch_stmt, objc_build_catch_epilogue,
7756         objc_build_finally_prologue, objc_build_finally_epilogue,
7757         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
7758         objc_build_synchronized_epilogue, build_objc_exception_stuff):
7759         New functions.
7760         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
7761         the future).
7762         (build_private_template): Fix up calls to get_class_ivars().
7763         (offset_is_register, forwarding_offset): Remove.
7764         (objc_method_parm_type, objc_encoded_type_size): New functions.
7765         (encode_method_prototype): Simplify to no longer depend on
7766         back-end information.
7767         (build_tmp_function_decl_xxx, build_tmp_function_decl,
7768         hack_method_prototype): Removed.
7769         (generate_protocol_references): Remove calls to
7770         build_tmp_function_decl().
7771         (generate_protocols): Adjust calls to encode_method_prototype().
7772         (build_class_template): Generate sel_id' and 'gc_object_type' fields
7773         for the NeXT runtime.
7774         (synth_forward_declarations): Call build_metadata_decl().
7775         (check_ivars): Check that the number of ivars matches also.
7776         (build_super_template): Modify super_type directly; disable debugging
7777         output while generating decl.
7778         (build_ivar_list_initializer): Skip list elements that are not
7779         FIELD_DECLs.
7780         (ivar_list_length): New function.
7781         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
7782         and encode_method_prototype() instead of encode_method_def().
7783         (build_shared_structure_initializer): Generate 'sel_id' field for
7784         the NeXT runtime.
7785         (generate_category): Do not set TREE_USED.
7786         (build_keyword_selector): Ditto; transform into a function argument
7787         chain.
7788         (get_arg_type_list): If there are no user-specified arguments, use
7789         '...'; use OBJC_VOID_AT_END.
7790         (check_duplicates): Add a parameter indicating whether methods or
7791         selectors are being checked.
7792         (receiver_is_class_object): Add parameters indicating whether
7793         receiver is 'self' or 'super'; robustify.
7794         (build_message_expr): Defer call to finish_message_expr() if
7795         inside an ObjC++ template.
7796         (lookup_method_in_hash_lists): New function.
7797         (finish_message_expr): Complete rewrite/fix.
7798         (build_objc_method_call): Ditto; factor out commonalities between
7799         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
7800         messenger variants on the NeXT.
7801         (lookup_instance_method_static, lookup_class_method_static):
7802         Fold into a single lookup_method_static() function with an
7803         additional parameter.
7804         (add_class_method, add_instance_method): Fold into a single
7805         add_method() function with an additional parameter.
7806         (add_category): Make duplicate categories a hard error in ObjC++.
7807         (add_instance_variable): Properly handle unnamed ivars, arrays of
7808         zero or no size and bitfields.  In ObjC++, check for nontrivial
7809         C++ class instances.
7810         (is_public): Allow C functions to access non-@public ivars, with
7811         a warning.
7812         (start_class): Move common initializations to
7813         synth_module_prologue(); check for global scope if in ObjC++.
7814         (continue_class): Fix calls to finish_struct().
7815         (objc_declare_protocols, start_protocol): Check for global scope
7816         if in ObjC++.
7817         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
7818         (encode_aggregate_within): Rewrite to properly distinguish
7819         struct tags from typedefs in both ObjC and ObjC++.
7820         (encode_bitfield, encode_complete_bitfield): Remove.
7821         (encode_next_bitfield, encode_gnu_bitfield): New functions.
7822         (encode_field_decl): Call encode_next_bitfield() or
7823         encode_gnu_bitfield() as needed.
7824         (synth_self_and_ucmd_args): New function.
7825         (start_method_def): Use it.
7826         (objc_types_are_equivalent): New function.
7827         (comp_proto_with_proto): Use it instead of comptypes(), since
7828         we need symmetry.
7829         (really_start_method): Use lookup_method_static() instead of
7830         lookup_class_method_static() and lookup_instance_method_static();
7831         Emit 'extern "C"' if in ObjC++ mode.
7832         (add_objc_decls): Removed.
7833         (UOBJC_SUPER_scope): New variable.
7834         (get_super_receiver): Move construction of 'super' from
7835         add_objc_decls(); remove dependency on struct objc_class.
7836         (encode_method_def): Removed; encode_method_prototype() is
7837         used instead.
7838         (objc_clear_super_receiver): New function.
7839         (objc_expand_function_end): Do not do anything for ordinary
7840         C functions.
7841         (finish_method_def): Mark ObjC methods as un-inlinable.
7842         (gen_declaration_1): Emit widths of bitfields.
7843         (finish_objc): Call generate_objc_image_info() if needed;
7844         use check_duplicates() when checking for selector duplicates.
7845         (generate_objc_image_info): New function.
7846         * objc/objc-act.h (add_instance_method, add_class_method,
7847         get_class_ivars): Remove prototypes.
7848         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
7849         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
7850         objc_build_catch_stmt, objc_build_catch_epilogue,
7851         objc_build_finally_prologue, objc_build_finally_epilogue,
7852         add_method, get_class_ivars_from_name): New prototypes.
7853         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
7854         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
7855         TRANSLATION_UNIT_DECLs.
7856         (OBJC_TYPE_NAME): New.
7857         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
7858         got included.
7859         (IS_SUPER): Robustify.
7860         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
7861         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
7862         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
7863         objc_exception_match_decl, objc_exception_throw_decl,
7864         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
7865         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
7866         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
7867         objc_catch_type): New ObjC/ObjC++ roots.
7868         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
7869         ObjC/ObjC++ tree node codes.
7870
7871 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
7872
7873         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
7874         code path that calls a handler.
7875
7876 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7877
7878         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
7879         Disable fixproto.
7880
7881         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
7882         the section giving $with_cpu defaults by target.
7883
7884         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
7885         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
7886         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
7887         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
7888         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
7889         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
7890
7891 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
7892
7893         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
7894         together.  Protect load string instruction with TARGET_STRING.
7895         (movti_string): Collapse case 1 and 2 together.
7896
7897 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
7898
7899         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
7900
7901 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
7902
7903         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
7904         do...while(0)
7905
7906 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7907
7908         * config.gcc: Move use_fixproto=no from generic vxworks clause to
7909         specific one.
7910
7911         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
7912         (accidentally missed in last pass).
7913
7914 2003-09-23  Andrew Pinski  <apinski@apple.com>
7915
7916         PR bootstrap/12383
7917         * configure: Regenerate.
7918
7919 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7920
7921         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7922         missed in last pass).
7923
7924 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
7925
7926         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7927         constant.
7928
7929 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7930
7931         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7932
7933         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7934         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7935         powerpcle-*-eabi*): Disable fixproto.
7936
7937         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7938         specific FreeBSD clauses.
7939         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7940         specific NetBSD clauses.
7941         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7942         to specific OpenBSD clauses.
7943
7944 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7945
7946         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7947         without adding a frame note.
7948         * pa.md (allocate_stack): Save pic register in new frame marker when
7949         generating pic code.
7950
7951 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
7952
7953         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7954         cgraph_expand_functions.
7955
7956 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7957
7958         * Makefile.in (gnucompare*): Merge into ...
7959         (slowcompare*): ... here.
7960         (fastcompare*): New targets.
7961         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7962         other "fast" cmp programs.
7963         * configure: Regenerate.
7964
7965 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7966
7967         * targhooks.c: Include output.h.
7968         * Makefile.in (targhooks.o): Add output.h to dependency list.
7969
7970 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7971
7972         * config.host: Removed superfluous newline.
7973
7974 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7975
7976         * config.gcc: Use ${target}, not $machine.
7977         * configure.in: Don't set $machine.
7978         * configure: Regenerate.
7979
7980 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
7981
7982         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7983
7984         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7985         pass zero-size arrays by reference.
7986         (rs6000_va_arg): Likewise.
7987
7988 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7989
7990         * config.gcc: Set use_fixproto=no in each specific *-gnu*
7991         configuration, rather than the generic one.
7992
7993 2003-09-23  Richard Henderson  <rth@redhat.com>
7994
7995         * tree-inline.c (remap_save_expr): Map new save_expr to identity
7996         rather than to error_mark_node.
7997
7998 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7999
8000         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
8001         Update description.
8002         * configure: Regenerate.
8003         * config.in: Likewise.
8004         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
8005         HAVE_GAS_SHF_MERGE value.
8006         * varasm.c (mergeable_string_section): Likewise.
8007         (mergeable_constant_section): Likewise.
8008
8009 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8010
8011         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
8012         value.
8013
8014 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8015
8016         * target.h (struct gcc_target): New member external_libcall.
8017         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
8018         (TARGET_ASM_OUT): Use it.
8019         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
8020         * targhooks.c: Convert to ISO C 90.
8021         (default_external_libcall): New function.
8022         * targhooks.h (default_external_libcall): Declare.
8023         * varasm.c (assemble_external_libcall): Use
8024         targetm.asm_out.external_libcall instead of
8025         ASM_OUTPUT_EXTERNAL_LIBCALL.
8026         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
8027         (mips_output_external_libcall): Declare.
8028         * config/mips/mips.c (mips_output_external_libcall): Change
8029         definition guard.
8030         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
8031         Only operate for O32 ABI.
8032         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
8033         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
8034         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
8035         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
8036
8037 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
8038
8039         * config.gcc: Do per-target disabling of fixproto here in clauses,
8040         not in t- fragments.
8041         * configure.in: Adjust to set STMP_FIXPROTO correctly.
8042         * configure: Regenerate.
8043         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
8044         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
8045         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
8046         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
8047         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
8048         t-interix, t-linux-aout:  Delete files consisting only of
8049         setting of STMP_FIXPROTO.
8050
8051         * config.host: Allow unknown hosts (not targets).  Allow
8052         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
8053         empty clauses.  Remove useless obsolete-configuration clause.
8054         Prune unsupported configuration list.  Collapse identical
8055         clauses for closely related systems.  Rewrite comment for
8056         unsupported hosts list.  Reorganize a little.
8057
8058 2003-09-22  Richard Henderson  <rth@redhat.com>
8059
8060         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
8061         not precision.
8062
8063 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
8064             Hartmut Penner  <hpenner@de.ibm.com>
8065             Segher Boessenkool  <boessen@de.ibm.com>
8066
8067         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
8068         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
8069         (rs6000_split_altivec_in_gprs): Rename to ...
8070         (rs6000_split_multireg_move): Add support for update addressing.
8071         * config/rs6000/rs6000-protos.h: Same.
8072         * config/rs6000/altivec.md: Same.
8073         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
8074         multiple GPRs.
8075         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
8076         (movti_power): Use new splitter for multiple GPRs.
8077         (movti_string): Same.
8078         (movti_ppc64): Same.
8079
8080 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
8081
8082         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
8083         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
8084
8085 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
8086
8087         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
8088         (andsi3): Set attr cc to set_zn when using shifts or adds.
8089
8090 2003-09-22  Bernardo Innocenti <bernie@develer.com>
8091
8092         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
8093
8094 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
8095
8096         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
8097         Resurrect -mrtd option.
8098
8099 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
8100
8101         PR target/12281
8102         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
8103         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
8104
8105 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
8106
8107         PR target/9786
8108         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
8109         after potential deletion of trapping insn. Avoids later ICE
8110         from call to fixup_abnormal_edges.
8111         (convert_regs_2): Stack the current block successors before
8112         processing this block, that is, before the potential deletion of
8113         dead edges by convert_regs_1, because these edges have been used
8114         to initialize the predecessors count.
8115
8116 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
8117
8118         * real.c: Fix several nits in the head comment.
8119
8120 2003-09-21  Richard Henderson  <rth@redhat.com>
8121
8122         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
8123         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
8124         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
8125         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
8126         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
8127
8128 2003-09-21  Richard Henderson  <rth@redhat.com>
8129
8130         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
8131         (TREE_FILENAME, TREE_LINENO): Likewise.
8132         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
8133         (TREE_LOCUS_SET_P): New.
8134         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
8135         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
8136         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
8137         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
8138         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
8139
8140 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
8141
8142         * config/vax/vax-protos.h: Convert to ISO C90.
8143         * config/vax/vax.c: Convert to ISO C90.
8144
8145 2003-09-21  Graham Stott  <grahams@btinternet.com>
8146
8147        PR target/12353
8148        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
8149
8150 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
8151
8152         PR target/12301
8153         * reorg.c (stop_search_p): Return 1 for insns that can
8154         throw internally.
8155
8156 2003-09-20  Richard Henderson  <rth@redhat.com>
8157
8158         * c-format.c (gcc_diag_char_table): Add %J.
8159         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
8160         (check_format_types): Fix wanted_type name lookup.
8161         (init_dynamic_diag_info): Setup %J.
8162         * diagnostic.c (text_specifies_location): Implement %J.
8163         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
8164         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
8165         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
8166         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
8167         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
8168
8169         * tree-inline.c: Include intl.h
8170         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
8171         * Makefile.in (tree-inline.o): Update.
8172
8173 2003-09-20  Roger Sayle  <roger@eyesopen.com>
8174
8175         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
8176         transformation of a>=0 into (unsigned)a<0x80000000.
8177
8178 2003-09-20  Andrew Pinski <apinski@apple.com>
8179
8180         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
8181
8182 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
8183
8184         * Makefile.in: Don't set (unused) DLLTOOL.
8185
8186         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
8187         Remove obsolete references to ENQUIRE.
8188
8189 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8190
8191         * configure.in: Remove --with-elf, which doesn't work.
8192         * configure: Regenerate.
8193         * config.gcc: Remove references to $elf, which does nothing.
8194
8195         * config/i386/xm-vsta.h: Remove xm-file believed useless.
8196         * config.build (i386-vsta): Remove reference to it.
8197         * config.host (i386-vsta): Remove reference to it.
8198
8199 2003-09-19  Phil Edwards  <phil@codesourcery.com>
8200
8201         * doc/install.texi:  Document the multiple testsuite options.
8202
8203 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
8204
8205         * doc/install.texi (Specific): Add the specific versions of GCC
8206         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
8207         version 3 and older was discontinued.
8208
8209 2003-09-19      Joel Sherrill <joel@oarcorp.com>
8210
8211         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
8212         68881.
8213
8214 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
8215
8216         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
8217         for -m68030, -m68020-60 and -m68020-40.
8218         * config/m68k/m68k.h (TARGET_68030): New target flag.
8219         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
8220         TARGET_REGPARM): Remove.
8221         * config/m68k/m68k.h: Regroup and renumber target flags.
8222         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
8223         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
8224         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
8225         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
8226         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
8227
8228 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8229
8230         * config/m68k/t-rtems (m68k-*-rtems*): New.
8231         * config.gcc: Use config/m68k/t-rtems.
8232
8233 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8234
8235         * config/mips/t-rtems: New.
8236         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
8237
8238 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
8239
8240         * cgraph.c: Fix typo in debugging output.
8241
8242 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
8243             Eric Botcazou <ebotcazou@libertysurf.fr>
8244
8245         PR target/12166
8246         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
8247
8248 2003-09-18  Mike Stump  <mrs@apple.com>
8249
8250         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
8251         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
8252         cb_ident, cb_def_pragma):  Use fileline typedef.
8253         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
8254
8255 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
8256
8257         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
8258         total parm size if a parm has incomplete type.
8259         (gen_fastcall_suffix): Likewise.
8260
8261 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8262
8263         * except.c (output_function_exception_table): Adjust last change
8264         to handle TYPE of INTEGER_CST.
8265
8266 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
8267
8268         PR target/11184
8269         * builtins.c (expand_builtin_apply): Use convert_memory_address
8270         before returning the value.
8271
8272         * alias.c (find_base_value): Simplify use of
8273         convert_memory_address.
8274         (find_base_term): Likewise.
8275         * builtins.c (expand_builtin_stejmp_setup): Likewise.
8276         (expand_builtin_longjmp): Likewise.
8277         (expand_builtin_prefetch): Likewise.
8278         (get_memory_rtx): Likewise.
8279         (expand_builtin_return): Likewise.
8280         (expand_builtin_memcpy): Likewise.
8281         (expand_builtin_strncpy): Likewise.
8282         (expand_builtin_memset): Likewise.
8283         (expand_builtin_va_arg): Likewise.
8284         (expand_builtin_va_copy): Likewise.
8285         (expand_builtin_alloca): Likewise.
8286         * calls.c (expand_call): Likewise.
8287         * except.c (expand_builtin_extract_return_addr): Likewise.
8288         (expand_builtin_eh_return): Likewise.
8289         * explow.c (convert_memory_address): Define even when
8290         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
8291         is already in the right mode.
8292         * explow.c (memory_address): Simplify use of convert_memory_address.
8293         (probe_stack_range): Likewise.
8294         * expmed.c (make_tree): Likewise.
8295         * expr.c (emit_block_move_in_libcall): Likewise.
8296         (expand_assignment): Likewise.
8297         (expand_expr): Likewise.
8298         * function.c (assign_parms): Likewise.
8299         (expand_function_end): Likewise.
8300         * integrate.c (copy_rtx_and_substitute): Likewise.
8301         * stmt.c (expand_computed_goto): Likewise.
8302
8303 2003-09-18  Roger Sayle  <roger@eyesopen.com>
8304
8305         * simplify-rtx.c (simplify_unary_operation): Only transform
8306         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
8307         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
8308
8309 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8310
8311         PR target/11674
8312         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
8313
8314 2003-09-18  Roger Sayle  <roger@eyesopen.com>
8315
8316         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
8317         PARITY_EXPR): Delete unused tree codes.
8318         * c-common.c (c_common_truthvalue_conversion): Delete references
8319         to FFS_EXPR and POPCOUNT_EXPR.
8320         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
8321         (pp_c_expression): Likewise.
8322         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
8323         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
8324         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
8325         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
8326         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
8327         and long long variants.
8328
8329 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8330
8331         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
8332         * c-pretty-print.c: Fix formatting.
8333         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
8334         (pp_c_type_specifier): Tidy.
8335         (pp_c_compound_literal): New function.
8336         (pp_c_initializer): Simplify..
8337         (pp_c_initializer_list): Likewise.
8338         (pp_c_brace_enclosed_initializer_list): New function.
8339         (pp_c_postfix_expression): Simplify.
8340
8341 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
8342
8343         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
8344         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
8345
8346 2003-09-17  Richard Henderson  <rth@redhat.com>
8347
8348         * tree-optimize.c (tree_rest_of_compilation): Save and restore
8349         input_location.
8350
8351 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
8352
8353         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
8354
8355 2003-09-17  Richard Henderson  <rth@redhat.com>
8356
8357         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
8358
8359 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8360
8361         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
8362         * configure: Regenerate.
8363
8364 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
8365
8366         PR debug/12066
8367         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
8368         * langhooks-def.h (lhd_return_null_tree_v): New function.
8369         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
8370         (LANG_HOOKS_DECLS): Add it to the intializer.
8371         * langhooks.c (lhd_return_null_tree_v): New function.
8372         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
8373
8374 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
8375
8376         * configure.in: Quote gcc_config_arguments for configargs.h.
8377         * configure: Regenerated.
8378         * gccbug.in: Don't shell-expand gcc_config_arguments.
8379
8380 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8381
8382         PR c++/11357
8383         * c-pretty-print.c (pp_c_floating_constant): Append
8384         type-annotation to floating constants.
8385
8386 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8387
8388         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
8389         Define _ABIO32.
8390         Use it for _MIPS_SIM.
8391         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
8392
8393         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
8394         Moved ...
8395         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
8396         updating comment.
8397         Fixes PR target/10190.
8398
8399 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
8400
8401         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
8402         to shared libraries.
8403
8404 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
8405
8406         PR optimization/11646
8407         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
8408         EDGE_ABNORMAL flag for EH edges.
8409         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
8410         if dead edges were purged.
8411
8412 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
8413
8414         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
8415         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
8416         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
8417         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
8418
8419 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
8420
8421         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
8422         returned by tablejump_p.
8423
8424 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
8425
8426         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
8427
8428 2003-09-16  Roger Sayle  <roger@eyesopen.com>
8429
8430         PR bootstrap/12269
8431         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
8432         argument to be VOIDmode, taking the mode of the comparison from
8433         the operands.  Only call simplify_relational_operation if we
8434         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
8435         if comparison has a floating point result.  Ensure that the
8436         result is always of the specified mode.
8437         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
8438         (simplify_unary_operation): Ensure the correct mode and cmp_mode
8439         are always passed to simplify_gen_relational.  Simplify NOT of
8440         comparison operator in any mode, not just BImode.
8441         (simplify_ternary_operation): Correct tests on the return value
8442         of simplify_relational_operation to use const_true_rtx, not
8443         const1_rtx.  Abort if it ever returns a non-constant result.
8444
8445         * cfgloopanal.c (count_strange_loop_iterations): Use the function
8446         simplify_relational_operation, not simplify_gen_relational, if
8447         we're only interested in constant comparisons and will ignore
8448         non-constant results.
8449
8450 2003-09-16  Roger Sayle  <roger@eyesopen.com>
8451
8452         * fold-const.c (tree_swap_operands_p): New function to determine
8453         the prefered ordering of operands.
8454         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
8455         operands to commutative, comparison or ternary operators.  Replace
8456         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
8457         transformation of A ? B : C into !A ? C : B.
8458
8459 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
8460
8461         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8462         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8463         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8464         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8465         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8466         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8467         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8468         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8469
8470 2003-09-16  Jason Merrill  <jason@redhat.com>
8471             Jakub Jelinek  <jakub@redhat.com>
8472
8473         * c-common.c (handle_warn_unused_result_attribute): New function.
8474         (c_common_attribute_table): Add warn_unused_result.
8475         (c_expand_expr): Issue warning when result of inlined function
8476         with warn_unused_result attribute is ignored.
8477         * calls.c (expand_call): Issue warning when result of function
8478         with warn_unused_result attribute is ignored.
8479         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
8480         * expr.c (expr_wfl_stack): Define.
8481         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
8482         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
8483         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
8484         bit if inlined function has warn_unused_result attribute.
8485         * input.h (expr_wfl_stack): Declare.
8486         * doc/extend.texi: Document warn_unused_result attribute.
8487
8488 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
8489
8490         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
8491
8492 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
8493
8494         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
8495         ATTRIBUTE_UNUSED.
8496         (call_insn_operand): For PIC, don't allow a direct call to a
8497         function in a different section than the current one.
8498
8499 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8500
8501         * doc/invoke.texi (Warning Options): Add missing hyphen before
8502         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
8503         Move "-Wold-style-definition" to the C-only section.
8504         Fix the ordering of the warning options.
8505
8506 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8507             Jeff Law  <law@redhat.com>
8508
8509         * gcse.c (remove_reachable_equiv_notes): New.
8510         replace_store_insn): Call it.  Update antic list.
8511         (store_killed_in_insn): Take REG_EQUAL notes into account.
8512         (build_store_vectors, delete_store): Add parameter to
8513         replace_store_insn call.
8514
8515 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
8516
8517         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
8518         SYMBOL_REF_LOCAL_P.
8519
8520 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
8521
8522         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
8523         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
8524         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
8525         Likewise.
8526         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
8527         Likewise.
8528         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
8529         * config/sparc/sparc.c (function_arg_padding): Likewise.
8530
8531 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
8532
8533         * haifa-sched.c (schedule_block): Use ready_remove_first instead
8534         of choose_ready for non-dfa insn scheduling.
8535
8536 2003-09-15  Andreas Jaeger  <aj@suse.de>
8537             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8538
8539         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
8540         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
8541         * c-parse.in: Warn about old-style parameter definition.
8542         * c-common.c: Define warn_old_style_defintion.
8543         * c-common.h: Declare it.
8544         * c.opt: Add Wold-style-defintion.
8545
8546 2003-09-15  Andreas Jaeger  <aj@suse.de>
8547
8548         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
8549         * config/rs6000/rs6000.c: Likewise.
8550
8551 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8552
8553         PR optimization/10914
8554         * expr.h (get_condition, canonicalize_condition): Declaration changed.
8555         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
8556         and canonicalize_condition calls.
8557         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
8558         delete_null_pointer_checks): Ditto.
8559         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
8560         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
8561         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
8562         (canonicalize_condition, get_condition): Allow to return comparisons
8563         of cc mode registers.
8564         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
8565         cc mode registers comparison in condition.
8566
8567 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
8568
8569         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
8570         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
8571         function.
8572         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
8573
8574 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8575
8576         * combine.c (simplify_comparison): Convert
8577         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
8578         (eq (and (lshiftrt X Y) 1) 0).
8579
8580 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8581
8582         * alias.c: Follow spelling conventions.
8583         * cpphash.h: Likewise.
8584         * fold-const.c: Likewise.
8585
8586 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
8587
8588         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
8589         * c-lex.c (cb_line_change): Skip line changing whenever
8590         c-ppoutput.c would.
8591
8592 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
8593
8594         * ra.c: Convert to ISO C90 prototypes.
8595         * ra-build.c: Likewise.
8596         * ra-colorize.c: Likewise.
8597         * ra-debug.c: Likewise.
8598         * ra-rewrite.c: Likewise.
8599
8600 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
8601
8602         * Makefile.in (%.dvi): Remove excess $(docdir).
8603
8604 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
8605
8606         * function.c (STACK_BYTES): Move definition to head of file.
8607         (assign_parms): Don't pass current_function_pretend_args_size
8608         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
8609         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
8610         excess before laying out the argument.
8611
8612 2003-09-14  Andreas Jaeger  <aj@suse.de>
8613
8614         * objc/objc-act.c: Convert to ISO C90 prototypes.
8615         * objc/objc-act.h: Likewise.
8616
8617 2003-09-14  Olaf Hering  <olh@suse.de>
8618
8619         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
8620
8621 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
8622
8623         PR target/12021
8624         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
8625         as they already are done in config/m68k/m68k.h.
8626         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
8627
8628         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
8629         (machopic_output_stub): Only generate pic base symbols when using pic
8630         and generate them in the form L00000000$spb.
8631
8632 2003-09-13  Richard Henderson  <rth@redhat.com>
8633
8634         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
8635         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
8636         * cgraph.h: Update.
8637
8638 2003-09-12  Dale Johannesen  <dalej@apple.com>
8639
8640         * config/rs6000/rs6000.c: Fix typos in previous.
8641
8642 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
8643
8644         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
8645         when allocating pp->buffer.
8646
8647 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
8648
8649         * config/darwin.c (machopic_select_rtx_section): Use
8650         const_data_section for things that might require relocation.
8651
8652 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
8653
8654         PR bootstrap/12264
8655         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
8656
8657 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
8658
8659         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
8660         * config/xtensa/linux.h (ASM_SPEC): Likewise.
8661         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
8662         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
8663         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
8664         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
8665         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
8666         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
8667         and redefine corresponding TARGET_* macros with constants from the
8668         xtensa-config.h header.
8669         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
8670         for the options listed above.
8671
8672 2003-09-12  Dale Johannesen  <dalej@apple.com>
8673
8674         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
8675         * config/rs6000/rs6000-c.c:  Ditto.
8676         * config/rs6000/rs6000.c:  Ditto.
8677         * config/rs6000/ sysv4.h:  Ditto.
8678
8679 2003-09-12  Chris Lattner <sabre@nondot.org>
8680
8681         * loop.c: Move comments describing BIV's and GIV's to top of file
8682
8683 2003-09-12  Roger Sayle  <roger@eyesopen.com>
8684
8685         PR optimization/8967
8686         * alias.c (write_dependence_p): Modify to take an additional constp
8687         argument that controls whether the UNCHANGING_RTX_P flags are used.
8688         (anti_dependence, output_dependence): Adjust write_dependence_p
8689         callers to pass this additional argument, to return the same result.
8690         (unchanging_anti_dependence): New variant of anti_dependence that
8691         ignores the UNCHANGING_RTX_P property on memory references.
8692         * rtl.h (unchaning_anti_dependence): Prototype here.
8693         * flow.c (init_propagate_block): Place fake constant mem writes on
8694         the mem_set_list so that dead writes to const variables are deleted.
8695         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
8696         (mark_used_regs): Likewise.
8697
8698 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
8699
8700         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
8701         (mcore_secondary_reload_class): Declare.
8702         (mcore_output_inline_const_forced): Remove.
8703         * config/mcore/mcore.md (movsi): Remove the code that forced
8704         non-inlineable constants into a register if the target was r15
8705         or the stack pointer.  Remove constant restrictions from the main
8706         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
8707         of an r <- P alternative.  Remove fallback define_insn for reload.
8708         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
8709         define_insn.  Use mcore_output_move in the remaining define_insn.
8710         Adjust condition and constraints in the way as for movsi.
8711         (movdi): Always split unacceptable constants into two.  Use
8712         simplify_gen_subreg instead of operand_subword{,_force}.
8713         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
8714         (mcore_output_move): Support HImode and QImode moves as well.
8715         (mcore_m15_operand_p): New function.
8716         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
8717         (mcore_secondary_reload_class): New function.
8718         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
8719         terms of mcore_secondary_reload_class.
8720
8721 2003-09-11  Mike Stump  <mrs@apple.com>
8722
8723         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
8724
8725 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8726
8727         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
8728         MODE exactly, then only convert logN(N) -> 1.0 if
8729         flag_unsafe_math_optimizations is set.
8730
8731         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
8732         init_builtin_dconsts): Delete.
8733         * emit-rtl.c (dconstpi, dconste): Define.
8734         (init_emit_once): Initialize dconstpi & dconste.
8735         * real.h (dconstpi, dconste): Declare.
8736
8737 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
8738
8739         PR fortran/11522
8740         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
8741         for ultimate origin even if block is abstract.
8742
8743 2003-09-11  Roger Sayle  <roger@eyesopen.com>
8744
8745         * combine.c (combine_simplify_rtx): Move several NOT and NEG
8746         optimizations from here...
8747         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
8748         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
8749
8750 2003-09-11  Richard Henderson  <rth@redhat.com>
8751
8752         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
8753         Tweek tests for function already generated.
8754         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
8755         * cgraph.h (cgraph_finalize_function): Update for extra arg.
8756         * c-decl.c (finish_function): Likewise.
8757
8758 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
8759
8760         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
8761
8762 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
8763
8764         * real.c: Update URL to VAX floating point docs.
8765         (decode_vax_d): Extract 8 exponent bits instead of 7.
8766
8767 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
8768
8769         * combine.c (force_to_mode): Set fuller_mask based only on mask,
8770         not op_mode.
8771
8772 2003-09-11  Jan Hubicka  <jh@suse.cz>
8773
8774         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
8775         on why function is not inlinable; do not check
8776         the body.
8777         (inline_forbidden_p): Move to...
8778         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
8779         deal with alloca, longjmp.
8780         (inline_forbidden_p): New static function.
8781         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
8782         find_builtin_longjmp_call): Kill.
8783
8784 2003-09-10  Richard Henderson  <rth@redhat.com>
8785
8786         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
8787         * cgraphunit.c: Update to match.
8788         (record_call_1): Rearrange.  Call lang hook for language nodes.
8789         (cgraph_analyze_function): Don't call lower_function.
8790         * langhooks.h (struct lang_hooks_for_callgraph): Replace
8791         lower_function with analyze_expr.
8792         * langhooks-def.h: Update to match.
8793         * langhooks.c (lhd_callgraph_analyze_expr): New.
8794
8795 2003-09-10  Martin Husemann  <martin@duskware.de>
8796
8797         PR target/11965
8798         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
8799         constants greater than 63.
8800         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
8801         against constants greater than 31.
8802         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
8803         constants greater than 63.
8804
8805 2003-09-09  Richard Henderson  <rth@redhat.com>
8806
8807         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
8808         * cgraph.h (cgraph_finalize_function): Update.
8809         * c-decl.c (finish_function): Update.
8810
8811 2003-09-09  Devang Patel  <dpatel@apple.com>
8812
8813         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
8814         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
8815
8816 2003-09-09  Eric Christopher  <echristo@redhat.com>
8817
8818         * configure.in: Change usage of 'head' to 'sed 1q'.
8819         * configure: Regenerate.
8820
8821 2003-09-09  Richard Henderson  <rth@redhat.com>
8822
8823         * except.c: Include cgraph.h.
8824         (output_function_exception_table): Invoke
8825         cgraph_varpool_mark_needed_node.
8826         * Makefile.in (except.o): Update.
8827
8828 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8829
8830         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
8831         and use it throughout.
8832
8833 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8834
8835         * builtins.c (real_dconstp, fold_builtin_logarithm,
8836         fold_builtin_exponent): New, split out from fold_builtin.  Also
8837         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
8838         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
8839         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8840         of hardcoded array size.
8841         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
8842         (tree_expr_nonnegative_p): Likewise.
8843         * real.h (dconst3, dconst10, dconstthird): New.
8844
8845 2003-09-09  Jan Hubicka  <jh@suse.cz>
8846
8847         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
8848         inline functions.
8849         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
8850         DECL_SAVED_TREE.
8851
8852 2003-09-09  Roger Sayle  <roger@eyesopen.com>
8853
8854         * builtins.c (fold_builtin_cabs): Protect the complex argument
8855         against multiple evaluation when optimizing cabs* into sqrt*.
8856
8857 2003-09-09  Jan Hubicka  <jh@suse.cz>
8858
8859         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
8860
8861 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
8862
8863         * Makefile.in: Revert yesterday's change.
8864
8865 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8866             Peter Barada <peter@baradas.org>
8867
8868         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
8869         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
8870         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
8871         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8872         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
8873         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
8874         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
8875         (m68k_compute_frame_layout): New function.
8876         (m68k_initial_elimination_offset): New function.
8877         (m68k_output_function_prologue): ColdFire-specific movem handling.
8878         (m68k_output_function_epilogue): Likewise.
8879         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
8880         (ARG_POINTER_REGNUM): Add new definition.
8881         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
8882         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
8883         (CAN_ELIMINATE): Likewise.
8884         (INITIAL_ELIMINATION_OFFSET): Likewise.
8885
8886 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8887
8888         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
8889         by removing redundant variable cfa_store_offset.
8890
8891 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8892
8893         * langhooks-def.h (lhd_register_builtin_type): New function.
8894         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
8895         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8896         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
8897         * langhooks.c (lhd_register_builtin_type): New function.
8898         * c-common.h (c_register_builtin_type): Declare.
8899         * c-common.c (c_register_builtin_type): New function.
8900         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
8901         c_register_builtin_type.
8902         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
8903         __float80, and __float128 macros.
8904         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
8905         __float80, and __float128 types.
8906
8907 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8908
8909         * builtin-types.def
8910         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
8911         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
8912         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
8913         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
8914         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
8915         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
8916         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
8917         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
8918         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
8919         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
8920         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8921         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8922         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8923         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8924         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8925         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8926         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8927         New.
8928         * doc/extend.texi: Document new builtins.
8929
8930 2003-09-09  Jan Hubicka  <jh@suse.cz>
8931
8932         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8933         finalization.
8934         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8935         functions, check for COMDAT.
8936         (cgraph_assemble_pending_functions): Break out from...
8937         (cgraph_finalize_function): ... here; allow redefinig of extern inline
8938         functions.
8939         (record_call_1): Record function references only in non-unit-at-a-time
8940         mode.
8941         (cgraph_analyze_function): Reset current_function_decl.
8942         (cgraph_finalize_compilation_unit):  Assemble pending functions.
8943
8944 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8945
8946         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8947         (libgov.a): Likewise.
8948         (libgcc_eh.a): Likewise.
8949
8950 2003-09-08  Roger Sayle  <roger@eyesopen.com>
8951
8952         * fold-const.c (operand_equal_p): Clarify documentation.
8953
8954 2003-09-08  Richard Henderson  <rth@redhat.com>
8955
8956         * c-decl.c (c_expand_body_1): Push and pop function context here.
8957         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
8958         nested argument instead of computing nesting ourselves.
8959
8960 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8961
8962         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8963         regstack if optimizing but not scheduling after reload.
8964
8965 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8966
8967         * config/sparc/sparc.c (struct machine_function): New type.
8968         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8969         (sparc_override_options): Initialize init_machine_status.
8970         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8971         tie_symbolic_operand, tle_symbolic_operand): New functions.
8972         (symbolic_operand): Disallow tls_symbolic_operand.
8973         (symbolic_memory_operand): Likewise.
8974         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8975         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8976         New functions.
8977         (sparc_tls_symbol): New variable.
8978         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8979         legitimize_address): New functions.
8980         (print_operand): Handle %&.
8981         (sparc_init_machine_status, get_some_local_dynamic_name,
8982         get_some_local_dynamic_name_1): New functions.
8983         (sparc_output_dwarf_dtprel): New function.
8984         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8985         constant_address_p.
8986         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8987         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8988         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8989         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8990         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8991         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8992         (ASM_OUTPUT_DWARF_DTPREL): Define.
8993         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8994         tie_symbolic_operand, tle_symbolic_operand.
8995         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8996         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8997         (tls_call_delay): New attribute.
8998         (in_call_delay): Use it.
8999         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
9000         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
9001         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
9002         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
9003         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
9004         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
9005         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
9006         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
9007         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
9008         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
9009         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
9010         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
9011         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
9012         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
9013         insns.
9014         * config/sparc/sparc-protos.h (legitimate_constant_p,
9015         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
9016         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
9017         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
9018         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
9019         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
9020         * configure.in (sparc*-*-*): Add TLS check.
9021         * configure: Rebuilt.
9022
9023 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
9024
9025         PR target/11689
9026         * config/i386/i386.c (memory_address_length): Fix computation when
9027         the base is esp or ebp.
9028
9029 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
9030
9031         PR c++/11852
9032         * varasm.c (initializer_constant_valid_p): Correct logic for
9033         CONSTRUCTORs.
9034
9035 2003-09-07  Roger Sayle  <roger@eyesopen.com>
9036
9037         * expr.c (expand_operands): New function to expand an operand pair.
9038         (expand_expr): Call expand_operands whenever we need to expand both
9039         operands of a binary operator.
9040         (do_store_flag): Likewise for operands of comparison operations.
9041
9042 2003-09-07  Roger Sayle  <roger@eyesopen.com>
9043
9044         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
9045         (-A)*B if we care about sign-dependent rounding.
9046
9047 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
9048
9049         * c-pretty-print.h (pp_c_left_brace): Declare.
9050         (pp_c_right_brace): Likewise.
9051         * c-pretty-print.c (pp_c_left_brace): Now a function
9052         (pp_c_right_brace): Likewise.
9053
9054 2003-09-07  Jan Hubicka  <jh@suse.cz>
9055
9056         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
9057
9058 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9059
9060         * diagnostic.c (warn_deprecated_use): Move to toplev.c
9061
9062 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9063
9064         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
9065         * Makefile.in (langhooks.o): Depend on diagnostic.h
9066
9067 2003-09-06  James E Wilson  <wilson@tuliptree.org>
9068
9069         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
9070         simplify.
9071
9072 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
9073
9074         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
9075         and use it throughout.
9076
9077 2003-09-07  Jan Hubicka  <jh@suse.cz>
9078
9079         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
9080
9081         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
9082         virables.
9083
9084         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
9085         functions.
9086         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
9087
9088 2003-09-06  Jan Hubicka  <jh@suse.cz>
9089
9090         PR target/12070
9091         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
9092
9093         PR opt/12082
9094         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
9095
9096 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9097
9098         * diagnostic.c (announce_function): Move to toplev.c.
9099
9100 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9101
9102         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
9103         volatile mem.
9104
9105 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9106
9107         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
9108         when gc checking is enabled.
9109
9110 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
9111
9112         PR c/9862
9113         * c-decl.c (c_expand_body_1): Move return warning from here...
9114         (finish_function): ...to here.
9115
9116 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
9117
9118         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
9119         a subset of the input class.
9120
9121 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
9122
9123         * config/i860/i860.c: Follow spelling conventions.
9124         * config/i860/i860.h: Likewise.
9125         * config/sh/sh.h: Likewise.
9126
9127 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
9128
9129         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
9130         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
9131         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
9132
9133 2003-09-05  Roger Sayle  <roger@eyesopen.com>
9134             Richard Henderson  <rth@redhat.com>
9135
9136         PR optimization/1823
9137         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
9138         multiplication to implement division by constant integer.
9139
9140 2003-09-05  Jan Hubicka  <jh@suse.cz>
9141
9142         * opts.c (decode_options): Enable unit-at-a-time at -O2.
9143         * params.def (max-inline-insns-single): Set to 500
9144         (max-inline-insns-auto): Set to 150
9145         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
9146
9147 2003-09-04  Richard Henderson  <rth@redhat.com>
9148
9149         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
9150         (cgraph_mark_needed_node): Remove needed argument.
9151         * cgraph.h: Update to match.
9152         * cgraphunit.c (decide_is_function_needed): Split out from ...
9153         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
9154         if we generated the function.
9155         (record_call_1): Update for cgraph_mark_reachable_node.
9156         * varasm.c (mark_referenced): Likewise.
9157         * objc/objc-act.c (mark_referenced_methods): Likewise.
9158
9159 2003-09-04  DJ Delorie  <dj@redhat.com>
9160
9161         * targhooks.c: Add comment explaining the migration process.
9162
9163 2003-09-04  Eric Christopher  <echristo@redhat.com>
9164
9165         * config/frv/t-frv: Fix path for frv-abi.h.
9166         * config/frv/frv-asm.h: Fix string concatenation.
9167
9168 2003-09-04  DJ Delorie  <dj@redhat.com>
9169
9170         * builtins.c (apply_args_size): Guard against a NULL cfun.
9171         (expand_builtin_apply_args_1): Likewise.
9172         (expand_builtin_apply): Likewise.
9173         Fixes PR bootstrap/12172.
9174
9175 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9176
9177         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
9178         assembler supports Sun syntax for cmov.
9179         * configure: Regenerate.
9180         * config.in: Likewise.
9181         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
9182         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
9183         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
9184         Fixes PR target/12101.
9185
9186 2003-09-04  Matt Austern  <austern@apple.com>
9187
9188         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
9189         with verbosity 0, instead of DECL_NAME, for human-readable string.
9190
9191 2003-09-04  Eric Christopher  <echristo@redhat.com>
9192
9193         * targhooks.c (default_return_in_memory): Allow
9194         unconverted ports.
9195
9196 2003-09-04  Eric Christopher  <echristo@redhat.com>
9197
9198         * targhooks.c (default_return_in_memory): Fix typo
9199         in last checkin.
9200
9201 2003-09-04  Eric Christopher  <echristo@redhat.com>
9202
9203         * targhooks.c (default_return_in_memory): Fix default
9204         definition.
9205
9206 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
9207
9208         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
9209         deleted function.
9210         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
9211         enable coff-only code in m68k.c.
9212
9213 2003-09-04  Nick Clifton  <nickc@redhat.com>
9214
9215         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
9216         v850e1.
9217         * config/v850/v850.h: Accept v850e1 as a default CPU.
9218         Accept -mv850e1 as a command line option.
9219         * doc/invoke.texi: Document new -mv850e1 command line switch.
9220         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
9221         -mv850e.
9222
9223 2003-09-04  Nick Clifton  <nickc@redhat.com>
9224
9225         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
9226         * config/v850/t-v850: Only produce one extra multilib - for
9227         the v850e.
9228         * config/v850/t-v850e: New file: Only produce one extra
9229         multilib - for the v850.
9230
9231 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
9232
9233         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
9234         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
9235         * unwind.h (_Unwind_GetBSP): New prototype.
9236         * libgcc-std.ver: Add empty GCC_3.3.2 version.
9237         * mkmap-symver.awk: For symbol versions with no exported symbols,
9238         don't put anything into version script, just change all symbol
9239         versions which inherit from it to inherit from its ancestor.
9240
9241 2003-09-04  Eric Christopher  <echristo@redhat.com>
9242
9243         * config/mips/mips.c (mips_expand_prologue): Convert to
9244         calls.struct_value_rtx hook.
9245         (reg_or_const_float_1_operand): New.
9246         * config/mips/mips.h: Update Comments.
9247         (mips_arg): Add reg_or_const_float_1_operand.
9248         * config/mips/mips.md (divdf3); Convert to expander.
9249         (divsf3): Ditto.
9250         (*divdf3): New pattern.
9251         (*divsf3): Ditto.
9252
9253 2003-09-04  Jan Hubicka  <jh@suse.cz>
9254
9255         * toplev.c (wrapup_global_declarations): Fix final pass in
9256         unit-at-atime mode.
9257
9258 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
9259
9260         * doc/extend.texi: Document removal of cast-as-lvalue extension in
9261         C++.
9262
9263 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
9264
9265         * gcc.c (process_command): Fix typo.
9266
9267 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
9268
9269         optimization/11980
9270         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
9271         (PTRDIFF_TYPE): Likewise.
9272         (WCHAR_TYPE_SIZE): Likewise.
9273
9274 2003-09-03  DJ Delorie  <dj@redhat.com>
9275
9276         * targhooks.c: New file.
9277         * targhooks.h: New file.
9278         * Makefile.in: Add targhooks.o support.
9279         (function.o): Depend on$(TARGET_H).
9280         (stmt.o): Likewise.
9281         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
9282         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
9283         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
9284         (expand_builtin_saveregs): Convert to
9285         calls.expand_builtin_saveregs hook.
9286         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
9287         here, instead of ...
9288         (get_parm_info) ... here.
9289         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
9290         hook.
9291         (finish_function): Handle calls.promote_prototypes hook here too.
9292         * c-typeck.c (convert_arguments): Convert to
9293         calls.promote_prototypes hook.
9294         (c_convert_parm_for_inlining): Likewise.
9295         * calls.c (initialize_argument_information): Convert to
9296         calls.promote_function_args hook.
9297         (expand_call): Convert to calls.struct_value_rtx,
9298         calls.strict_argument_naming,
9299         calls.pretend_outgoing_varargs_named, and
9300         calls.promote_function_return hooks.  Pass fndecl to
9301         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
9302         hooks, so they can use that.
9303         (emit_library_call_value_1): Likewise.
9304         * combine.c (setup_incoming_promotions): Convert to
9305         calls.promote_function_args hook.
9306         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
9307         * expr.c (expand_assignment): Pass call to aggregate_value_p.
9308         (expand_expr): Likewise.
9309         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
9310         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
9311         RETURN_IN_MEMORY macro defaults.
9312         * final.c (profile_function): Convert to calls.struct_value_rtx
9313         hook.
9314         * function.c (aggregate_value_p): Accept function type tree as
9315         second parameter; try to deduce fntype from it.  Convert to
9316         calls.return_in_memory hook.
9317         (assign_parms): Convert to calls.setup_incoming_varargs,
9318         calls.strict_argument_naming, calls.promote_function_args,
9319         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
9320         aggregate_value_p.
9321         (expand_function_start): Likewise.  Convert to
9322         calls.struct_value_rtx hook.
9323         (expand_function_end): Convert to calls.promote_function_return hook.
9324         (allocate_struct_function): Pass fndecl to aggregate_value_p.
9325         * hard-reg-set.h: Update comments to new hook names.
9326         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
9327         * reg-stack.c (stack_result): Likewise.
9328         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
9329         * stmt.c (expand_value_return): Convert to
9330         calls.promote_function_return hook.
9331         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
9332         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
9333         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
9334         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
9335         TARGET_STRICT_ARGUMENT_NAMING,
9336         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
9337         * target.h: Likewise.
9338         * tree.h (aggregate_value_p): Also takes a tree to deduce function
9339         attributes from (for target hooks).
9340         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
9341         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
9342         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
9343         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
9344         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
9345         to hooks.
9346
9347         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
9348         to aggregate_value_p.
9349         * config/arm/arm.c (arm_init_cumulative_args,
9350         arm_output_mi_thunk): Likewise.
9351         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
9352         Likewise.
9353         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
9354         mips_can_use_return_insn): Likewise.
9355         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
9356         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
9357         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
9358         aggregate_value_p.
9359         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
9360         function to aggregate_value_p.
9361         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
9362         aggregate_value_p.
9363
9364         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
9365         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
9366         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
9367         (sh_handle_renesas_attribute, sh_promote_prototypes,
9368         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
9369         sh_setup_incoming_varargs, sh_strict_argument_naming,
9370         sh_pretend_outgoing_varargs_named): New decls.
9371         (targetm): Add new hooks.
9372         (calc_live_regs): Save MACL and MACH if the function has the
9373         renesas attribute.
9374         (sh_expand_prologue): Support renesas attribute.
9375         (sh_builtin_saveregs): Make static.
9376         (sh_build_va_list): Support renesas attribute.
9377         (sh_va_start): Likewise.
9378         (sh_va_arg): Likewise.
9379         (sh_promote_prototypes): New.
9380         (sh_function_arg): New, moved from sh.h.  Support renesas
9381         attribute.
9382         (sh_function_arg_advance): Likewise.
9383         (sh_return_in_memory): Likewise.
9384         (sh_strict_argument_naming): Likewise.
9385         (sh_pretend_outgoing_varargs_named): Likewise.
9386         (sh_struct_value_rtx): New.
9387         (sh_attribute): Add renesas attribute.
9388         (sh_handle_renesas_attribute): New.
9389         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
9390         (sh_ms_bitfield_layout_p): Support renesas attribute also.
9391         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
9392         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
9393         -mhitachi.
9394         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
9395         target hooks.
9396         (sh_args): Add renesas_abi flag.
9397         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
9398         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
9399         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
9400         stack for the renesas abi.
9401         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
9402         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
9403         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
9404         call cookie to indicate renesas calls.
9405
9406 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
9407
9408         * gcse.c (replace_one_set): New function.
9409         (pre_insert_copy_insn): Change the order of copying
9410         to make copy propagation discover additional PRE opportunities.
9411
9412 2003-09-03  Roger Sayle  <roger@eyesopen.com>
9413
9414         PR optimization/11700.
9415         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
9416         of a hard register is representable before trying to simplify it
9417         using subreg_hard_regno.
9418
9419 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9420
9421         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
9422         * configure: Regenerate.
9423
9424 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9425
9426         * intl.h (N_): Remove parentheses.
9427
9428 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
9429
9430         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
9431         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
9432         definition and code blocks compiled when not defined.
9433         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
9434         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
9435         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
9436         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
9437
9438 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
9439
9440         * cgraphunit.c (visited_nodes): New static variable.
9441         (record_call_1): Use walk_tree with visited_nodes.
9442         (cgraph_create_edges): Use walk_tree with visited_nodes.
9443         Setup/teardown visited_nodes hashtable.
9444
9445 2003-09-03  Roger Sayle  <roger@eyesopen.com>
9446
9447         * toplev.c (flag_rounding_math): New global variable.
9448         (f_options): Add to the list of language independent options.
9449         * flags.h (flag_rounding_math): Prototype here.
9450         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
9451         * common.opt (frounding-math): New common command line option.
9452         * opts.c (common_handle_option): Handle OPT_frounding_math.
9453         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
9454
9455         * doc/invoke.texi: Document this new command line option.
9456
9457 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9458
9459         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
9460
9461 2003-09-03  Jan Hubicka  <jh@suse.cz>
9462
9463         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
9464         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
9465         * c-objc-common.c: Kill include of gt-c-objc-common.h
9466         (expand_deferred_fns, deffer_fn): Kill function.
9467         (deferred_fns): Kill variable.
9468         (finish_cdtor): Update finish_function call.
9469         (c_objc_common_finish_file): Always call cgraph code.
9470         * c-parse.c: Regenerate.
9471         * c-parse.y: Regenerate.
9472         * c-tree.h (finish_function): Update prototype.
9473         * objc-acct.c (build_module_descriptor, finish_method_def):
9474         Update call of finish_function.
9475         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
9476         forward prototype.
9477         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
9478         function and assemble it if needed.
9479         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
9480         mode.
9481         (cgraph_optimize): Likewise.
9482         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
9483         even when it has no inline callees.
9484         * c-parse.in: Update calls to finish_function.
9485
9486 2003-09-03  Nick Clifton  <nickc@redhat.com>
9487
9488         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
9489         Use #error to generate the message if TARGET_DEFAULT is not
9490         recognised.
9491
9492 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
9493
9494         * config/mips/mips.h (MASK_UNUSED1): Remove.
9495         (MASK_XGOT, TARGET_XGOT): Define.
9496         (TARGET_SWITCHES): Add an entry for -mxgot.
9497         (ASM_SPEC): Map -mxgot to -xgot.
9498         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
9499         whether we're using a big-GOT sequences.
9500         (mips_legitimize_const_move, mips_expand_call): Likewise.
9501         (override_options): Revert 2003-01-09 change.
9502         * doc/invoke.texi: Document -mxgot.
9503
9504 2003-09-02  Jason Merrill  <jason@redhat.com>
9505
9506         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
9507         * config/sparc/sol2.h: Not here.
9508
9509 2003-09-02  Roger Sayle  <roger@eyesopen.com>
9510
9511         * expr.c (expand_expr): The code following both_summands performs
9512         the same task as simplify_gen_binary.  Replace all gotos to
9513         both_summands with a call to simplify_gen_binary and delete the
9514         now unused label.
9515
9516 2003-09-02  Jason Merrill  <jason@redhat.com>
9517
9518         PR c++/7327
9519         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
9520
9521 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
9522
9523         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
9524         (cgraph_optimize_function): Set current_function_decl to the
9525         fndecl we're integrating from.
9526
9527 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9528
9529         * builtins.def: Break out _Complex math functions into their
9530         own category.
9531
9532 2003-09-02  Andreas Jaeger  <aj@suse.de>
9533
9534         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
9535
9536 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
9537
9538         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
9539         finding the note again.
9540
9541 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
9542
9543         * config.gcc: Remove host-specific rewrites of target_alias.
9544
9545 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
9546
9547         * Makefile.in (genprogs): Fix typo.
9548
9549         * Makefile.in (gencheck.o): Remove build commands.
9550         (dummy-conditions.o): Likewise.
9551         (read-rtl.o): Likewise.
9552         (gensupport.o): Likewise.
9553         (genconfig$(build_exeext)): Remove rule.
9554         (genconfig.o): Remove build commands.
9555         (genflags$(build_exeext)): Remove rule.
9556         (genflags.o): Remove build commands.
9557         (gencodes$(build_exeext)): Remove rule.
9558         (gencodes.o): Remove build commands.
9559         (genconstants.o): Remove build commands.
9560         (genemit$(build_exeext)): Remove rule.
9561         (genemit.o): Remove build commands.
9562         (genrecog$(build_exeext)): Remove rule.
9563         (genrecog.o): Remove build commands.
9564         (genextract$(build_exeext)): Remove rule.
9565         (genextract.o): Remove build commands.
9566         (genpeep$(build_exeext)): Remove rule.
9567         (genpeep.o): Remove build commands.
9568         (genattr$(build_exeext)): Remove rule.
9569         (genattr.o): Remove build commands.
9570         (genprognames): New variable.
9571         (genprogs): Likewise.
9572         (genobjs): Likewise.
9573         (genprogs): New rule.
9574         (genobjs): Likewise.
9575         (genattrtab.o): Remove build commands.
9576         (genautomata.o): Likewise.
9577         (genoutput$(build_exeext)): Remove rule.
9578         (genoutput.o): Remove build commands.
9579         (gengenrtl.o): Likewise.
9580         (genpreds.o): Likewise.
9581         (gengtype.o): Likewise.
9582         (genconditions.o): Likewise.
9583         (gen-protos.o): Likewise.
9584         (scan.o): Likewise.
9585         (fix-header.o): Likewise.
9586         (scan-decls.o): Likewise.
9587         (check-g++): Combine with other check targets.
9588         (check-gcc): Likewise.
9589         (check-g77): Likewise.
9590         (check-objc): Likewise.
9591
9592 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9593
9594         * config.gcc: Remove host-specific stuff which is unused here
9595         since the introduction of config.host.
9596
9597         * doc/fragments.texi: Mention config.host.
9598         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
9599         of config.build, config.host, and config.gcc.
9600
9601 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
9602
9603         * c-decl.c (pushdecl): Don't put variables on
9604         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
9605         incomplete.
9606
9607 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9608
9609         * config.host: New file.
9610         * config.gcc: Remove some host-specific stuff and some
9611         logic needed only for repeated invocation.
9612         * configure.in: Use config.host.
9613         * configure: Regenerate.
9614
9615 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
9616
9617         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
9618         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
9619         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
9620         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
9621         * tree.def (BIT_ANDTC_EXPR): Kill.
9622
9623 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9624
9625         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
9626         * configure: Regenerate.
9627
9628         * config.gcc:  Remove references to install_headers_dir, now unused
9629         since introduction of config.build.
9630         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
9631
9632         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
9633         config.build.
9634
9635         * config.build: New file.
9636         * config.gcc: Remove some build-specific stuff.
9637         * configure.in: Use config.build.
9638         * configure: Regnerate.
9639
9640 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
9641             Roger Sayle  <roger@eyesopen.com>
9642
9643         PR middle-end/11823
9644         * stmt.c (expand_end_case_type): Only use jump tables for dense
9645         switch statements when optimizing for size.
9646
9647 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
9648
9649         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
9650         the != 0 case, which ensures pending stack adjustments are flushed.
9651
9652 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9653
9654         * configure.frag: Delete file.
9655         * configure.in: Rename the substitution variables
9656         dep_host_xmake_file and dep_tmake_file to xmake_file and
9657         tmake_file respectively.  Do not expand $srcdir in the
9658         value of these; leave that for Make.  Introduce a new
9659         substitution varaible, all_lang_makefrags, which lists
9660         subdirectory Make-lang.in files; exclude these from
9661         all_lang_makefiles, which is now only for subdirectory
9662         outputs.  Do not invoke configure.frag.  Do not set nor
9663         AC_SUBST_FILE target_overrides, host_overrides, or
9664         language_fragments. Create build subdirectories in
9665         config.status extra commands.
9666         * configure: Regenerate.
9667         * Makefile.in: Update substitutions to match changes to
9668         configure.  Use include directives instead of @-insertions
9669         to read in host, target, and language fragments.
9670         (Makefile rule): Do not invoke configure.frag.  Do not copy
9671         config.status to config.run before executing it.  Set
9672         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
9673         regenerated.
9674         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
9675
9676 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9677
9678         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
9679         * c-typeck.c (same_translation_unit_p): New function.
9680         (comptypes): Use it instead of flags parameter to identify
9681         structure types from different translation units.
9682         * c-decl.c (duplicate_decls): Always call comptypes with
9683         COMPTYPE_STRICT flags argument.
9684         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
9685         to file_scope_decl.
9686
9687 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9688
9689         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
9690         * c-decl.c (struct c_scope): Remove "incomplete" field.
9691         (pushdecl): Attach variables with incomplete types to
9692         the TYPE_MAIN_VARIANT of the incomplete type in question.
9693         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
9694         to complete, not at current_scope->incomplete.  All such
9695         variables do need completion.
9696
9697 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
9698         Nicolas Pitre <nico@cam.org>
9699
9700         * arm/lib1funcs.asm (RETCOND): Delete.
9701         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
9702         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
9703         (__ARM_ARCH__): Move here from ieee754-?f.S.
9704         (RET, RETc): Clean up definitions.
9705         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
9706         (FUNC_END): New macro that marks the end of any function.
9707         (ARM_FUNC_START): New macro that allows an assembler routine to be
9708         implemented in ARM code even if a Thumb-only build.
9709         Unconditionally include ieee754-?f.S.
9710         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
9711         Mark ends of functions.
9712         Split into separate conditionally-compiled units.
9713         Use RETLDM to return from routines.
9714         * arm/ieee754-sf.S: Similarly.
9715         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
9716         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
9717         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
9718         _fixsfsi and _fixunssfsi.
9719
9720         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
9721         multiplication underflows to zero.
9722         (__adddf3): Fix bug when using VFP ordering on little-endian
9723         processors.
9724         (__fixdfsi): Use rrx to extract the carry into a register instead of
9725         MRS instruction.  Optimize later use of result.
9726         * arm/ieee754-sf.S (__fixsfsi): Likewise.
9727         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
9728
9729 2003-08-29  Richard Henderson  <rth@redhat.com>
9730
9731         * tree-optimize.c: New file.
9732         * Makefile.in (OBJS-archive): Add tree-optimize.o.
9733         (tree-optimize.o): New.
9734         * c-decl.c (store_parm_decls): Use allocate_struct_function.
9735         (finish_function): Don't free_after_parsing or free_after_compilation.
9736         (set_save_expr_context): Move to tree-optimize.c.
9737         (c_expand_body_1): Use tree_rest_of_compilation.
9738         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9739         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9740         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
9741         iterate until closure.
9742         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
9743         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
9744         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
9745         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
9746         * toplev.h (tree_rest_of_compilation): Declare it.
9747
9748 2003-08-29  Richard Henderson  <rth@redhat.com>
9749
9750         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
9751         * integrate.c (save_for_inline): Set saved_for_inline.
9752         * c-semantics.c (genrtl_scope_stmt): Check it.
9753         * toplev.c (wrapup_global_declarations): Check it.
9754         (rest_of_handle_inlining): Set and check rtl_inline_init.
9755         (rest_of_compilation): Remove out of date comment.
9756
9757 2003-08-29  Richard Henderson  <rth@redhat.com>
9758
9759         * function.c (allocate_struct_function): New, split out of ...
9760         (prepare_function_start, init_function_start): ... here.
9761         * expr.c (init_expr): Use ggc_alloc_cleared.
9762         * stmt.c (init_stmt_for_function): Likewise.
9763         * tree.h (allocate_struct_function): Declare.
9764
9765 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9766
9767         * config.gcc: Don't use negated character class in shell case
9768         clause.
9769
9770 2003-08-29  Richard Henderson  <rth@redhat.com>
9771
9772         * function.h (struct function): Move function_frequency and
9773         max_jumptable_ents before start of bit field members.
9774
9775 2003-08-29  Richard Henderson  <rth@redhat.com>
9776
9777         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
9778         (fold_builtin_constant_p) ... not here.
9779
9780 2003-08-29  Richard Henderson  <rth@redhat.com>
9781
9782         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
9783         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
9784         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
9785
9786 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9787
9788         * builtins.def: Fix typos.
9789         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
9790         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
9791         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
9792         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
9793         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
9794
9795         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
9796         Use ATTR_MATHFN_FPROUNDING_ERRNO.
9797
9798 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9799
9800         * config.gcc (i386-*-vsta): Fix obvious bogosity.
9801
9802         * fixinc/inclhack.def:  Remove special cases for unsupported
9803         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
9804         * fixinc/fixincl.x: Regenerate.
9805
9806 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
9807
9808         * Makefile.in (cpp.info): Just state dependencies.
9809         (gcc.info): Likewise.
9810         (gccint.info): Likewise.
9811         (gccinstall.info): Likewise.
9812         (cppinternals.info): Likewise.
9813         (cpp.dvi): Likewise.
9814         (gcc.dvi): Likewise.
9815         (gccint.dvi): Likewise.
9816         (gccinstall.dvi): Likewise.
9817         (cppinternals.dvi): Likewise.
9818         (gcov.1): Likewise.
9819         (cpp.1): Likewise.
9820         (gcc.1): Likewise.
9821         (gfdl.7): Likewise.
9822         (gpl.7): Likewise.
9823         (fsf-funding.7): Likewise.
9824         ($(objdir)/%.info): New pattern rule.
9825         (%.dvi): Likewise.
9826
9827 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
9828
9829         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
9830         (restage2): Likewise.
9831         (restage3): Likewise.
9832         (restage4): Likewise.
9833         (restageprofile): Likewise.
9834         (restagefeedback): Likewise.
9835         (bubblestrap): Likewise.
9836
9837 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9838
9839         * config.gcc: Narrow unsupported target match to avoid clobbering
9840         i?86-sequent-sysv4*.
9841
9842 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9843
9844         * builtins.c (mathfn_built_in): Handle new math builtins.
9845
9846 2003-08-28  Per Bothner  <per@bothner.com>
9847
9848         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
9849         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
9850         (_cpp_lex_buffer):  Likewise.
9851         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
9852
9853 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9854
9855         * config/s390/s390.md ("*mulsi3_sign"): New insn.
9856         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
9857         ("mulsidi3"): ... this new insn.
9858         ("umulsidi3"): New insn.
9859         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
9860         mixed-mode matching constraints.
9861         ("udivmodsi4", "udivmoddisi3"): New insns.
9862         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
9863
9864 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9865
9866         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
9867         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
9868         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
9869         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
9870         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
9871         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
9872         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
9873         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
9874         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
9875         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
9876         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
9877         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
9878         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
9879         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
9880         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
9881         * tree.c: Assign new type_nodes.
9882         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
9883         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
9884         (float_ptr_type_node, double_ptr_type_node,
9885         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
9886
9887         * doc/extend.texi: Document new builtins.
9888
9889 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9890
9891         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
9892         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
9893
9894         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
9895         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
9896         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
9897         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
9898         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
9899         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
9900         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
9901         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
9902         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
9903         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
9904
9905         * doc/extend.texi: Document new builtins.
9906
9907 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
9908
9909         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9910         variants of i?86, powerpcle, and thumb.
9911         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9912         arm and hppa variants.
9913
9914 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9915
9916         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
9917         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
9918         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
9919         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
9920         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9921         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9922         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9923         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9924         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9925         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9926
9927         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9928         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9929         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9930         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9931         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9932         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9933         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9934         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9935         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9936         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9937         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9938         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9939         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9940         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9941         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9942         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9943         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9944         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9945         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9946         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9947         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9948         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9949         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9950         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9951         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9952         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9953         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9954         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9955         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9956         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9957         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9958
9959         * doc/extend.texi: Document new builtins.
9960
9961 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9962
9963         * config/s390/s390.c (legitmate_constant_p): Use LARL on
9964         zSeries machines even in 31-bit addressing mode.
9965         (legitimate_reload_constant_p): Likewise.
9966         (legitimize_pic_address): Likewise.
9967         (legitimize_tls_address): Likewise.
9968         (s390_split_branches): Likewise.
9969         (s390_dump_pool): Likewise.
9970         (s390_mainpool_finish): Likewise.
9971         (s390_chunkify_start): Likewise.
9972         (s390_select_rtx_section): Likewise.
9973         * config/s390/s390.md ("doloop_si"): Likewise.
9974         ("pool_start_31", "pool_end_31"): Likewise.
9975         ("pool_start_64", "pool_end_64"): Likewise.
9976         ("main_base_31_small", "main_base_31_large"): Likewise.
9977         ("main_base_64"): Likewise.
9978         ("reload_base_31", "reload_base_64"): Likewise.
9979         ("*movsi_larl"): New insn.
9980         ("cjump", "icjump"): Use long branches on zSeries machines.
9981         ("jump"): Likewise.
9982         ("call"): Use BRASL on zSeries machines.
9983         ("call_value", "call_value_tls"): Likewise.
9984         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9985         and replace by ...
9986         ("*bras", "*brasl", "*basr") ... these new insns.
9987         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9988         "bas_31_r"): Remove and replace by ...
9989         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9990         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9991         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9992         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9993         ("*return_si", "*return_di"): Remove and replace by ...
9994         ("*return"): ... this new insn.
9995         ("rotlsi3"): Allow on zSeries machines.
9996
9997         * config/s390/s390.c (legitimize_reload_constant_p): Use
9998         LL/LH type instructions in z/Architecture mode.
9999         * config/s390/s390.md ("*movsi_lli"): Likewise.
10000         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
10001         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
10002         ("*extendqisi2"): Use LB in z/Architecture mode.
10003         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
10004         z/Architecture mode.
10005         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
10006         Likewise.
10007
10008         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
10009         and 31-bit mode.
10010         ("ptr_extend"): Allow only in 64-bit mode.
10011
10012 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
10013
10014         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
10015         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
10016         definitions.
10017         (main): Only use standard_startfile_prefix if native.
10018         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
10019
10020 2003-08-27  Per Bothner  <pbothner@apple.com>
10021
10022         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
10023         test fails following my 08-21 change, and it seems unnecessary anyway.
10024         (cpp_error):  Likewise.
10025
10026 2003-08-27  Jason Merrill  <jason@redhat.com>
10027
10028         * real.c (do_multiply): Initialize with memset.
10029
10030 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10031
10032         * gcov.c (typedef struct arc_info): New field cs_count.
10033         (accumulate_line_counts): Find cycles correctly.
10034
10035 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
10036
10037         * config/s390/s390.c (struct machine_function): Remove member
10038         literal_pool_label.
10039         (s390_optimize_prolog): Replace TEMP_REG argument with
10040         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
10041         (general_s_operand): Accept all immediates before reload if
10042         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
10043         references.
10044         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
10045         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
10046         (s390_alloc_pool): New function.
10047         (s390_new_pool): Call it.
10048         (s390_dump_pool): Add REMOTE_LABEL argument.
10049         (s390_chunkify_start): Add BASE_REG argument.  Do not check
10050         get_pool_size ().
10051         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
10052         s390_dump_pool call.
10053         (s390_pool_count, s390_nr_constants): Remove.
10054         (s390_output_constant_pool): Remove.
10055         (s390_mainpool_start): New function.
10056         (s390_mainpool_finish): New function.
10057         (s390_mainpool_cancel): New function.
10058         (s390_reorg): Implement main literal pool handling.
10059         (s390_emit_prologue): Emit main_pool placeholder instead of
10060         literal_pool_31 / literal_pool_64 insns.
10061         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
10062         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
10063         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
10064         ("main_base_31_small", "main_base_31_large"): New insns.
10065         ("main_base_64",  "main_pool"): New insns.
10066         ("literal_pool_31", "literal_pool_64"): Remove.
10067
10068 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
10069
10070         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
10071         fixinc.ptx.
10072         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
10073         Prettify a little.
10074         * fixinc/fixincl.x: Regenerate.
10075
10076 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
10077
10078         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
10079         (L_ieee754_dp): New.  Include ieee754-df.S.
10080         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
10081         and compilation in apcs-26 mode.
10082         * arm/ieee754-df.S: Likewise.
10083         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
10084         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
10085
10086 2003-08-27  Nicolas Pitre  <nico@cam.org>
10087
10088         * arm/ieee754-sf.S: New.
10089         * arm/ieee754-df.S: New.
10090
10091 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
10092
10093         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
10094         and restore it if returning NULL.
10095
10096 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
10097
10098         * calls.c (initialize_argument_information): If an argument has no
10099         stack space associated with it, and BLOCK_REG_PADDING is defined,
10100         use it to decide at which end the argument should be padded.
10101         * function.c (assign_parms): Allocate BLKmode stack slots.
10102         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
10103         (mips_pad_reg_upward): Declare.
10104         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
10105         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
10106         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
10107         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
10108         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
10109         (mips_expand_call): Remove code for generating structure shifts.
10110         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
10111         types unless using the EABI.
10112         (function_arg_advance): Don't generate shift instructions.
10113         (function_arg): Don't return them.  Don't short-circuit the
10114         check for double structure chunks for DFmode arguments.
10115         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
10116         (mips_expand_prologue): Remove code to emit structure shifts.
10117         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
10118         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
10119         comments to say that only structure returns are a problem.
10120
10121 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
10122
10123         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
10124         Fix to match produced versions.
10125         * fixinc/inclhack.def (longlong_t): New disabled test, ported
10126         from fixinc.svr4.
10127         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
10128         from fixinc.ptx.
10129         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
10130         ported from fixinc.ptx.
10131
10132 2003-08-26  Per Bothner  <pbothner@apple.com>
10133
10134         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
10135         (cpp_error_with_line):  Use fileline for appropriate parameter.
10136         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
10137         (struct cpp_reader):  Likewise for fields line and directive_line.
10138         (_cpp_begin_message):  Use fileline for appropriate parameter.
10139         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
10140         cpp_error):  Use fileline for appropriate parameters and variables.
10141         (print_location):  New local lin, since it is not a fileline.
10142
10143 2003-08-26  Roger Sayle  <roger@eyesopen.com>
10144
10145         PR middle-end/12002
10146         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
10147         (FLOAT_TYPE_P): Define in terms of these two new macros.
10148         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
10149         for complex floating point types.
10150
10151 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
10152
10153         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
10154         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
10155         s390_output_pool_entry.
10156
10157 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
10158
10159         * fixinc/inclhack.def (svr4_preproc_lint_on,
10160         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
10161         fixes, ported from fixinc.svr4.
10162
10163 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
10164
10165         * doc/install.texi (Prerequisites): Mention GNU make requirement.
10166
10167         * Makefile.in (AR_FOR_TARGET): Export it.
10168         (AR_CREATE_FOR_TARGET): Likewise.
10169         (AR_FLAGS_FOR_TARGET): Likewise.
10170         (AR_EXTRACT_FOR_TARGET): Likewise.
10171         (AWK): Likewise.
10172         (BUILD_PREFIX): Likewise.
10173         (BUILD_PREFIX_1): Likewise.
10174         (DESTDIR): Likewise.
10175         (GCC_FOR_TARGET): Likewise.
10176         (INCLUDES): Likewise.
10177         (INSTALL_DATA): Likewise.
10178         (LIB1ASMSRC): Likewise.
10179         (LIBGCC2_CFLAGS): Likewise.
10180         (MACHMODE_H): Likewise.
10181         (NM_FOR_TARGET): Likewise.
10182         (RANLIB_FOR_TARGET): Likewise.
10183         (libsubdir): Likewise.
10184         (slibdir): Likewise.
10185         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
10186         exporting.
10187         (libgcc.a): Don't pass them here.
10188         (stmp-multilib): Or here.
10189         (install-libgcc): Or here.
10190         (install-multilib): Or here.
10191         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
10192         (stage1_build): Or here.
10193
10194 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
10195
10196         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
10197         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
10198
10199 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
10200
10201         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
10202         "*fmaddsf", "*fmsubsf"): New insns.
10203
10204 2003-08-26  Roger Sayle  <roger@eyesopen.com>
10205
10206         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
10207         (C1*C2)/X when unsafe math optimizations are allowed.
10208         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
10209         math optimizations.  Minor code clean-ups.  Recursively call
10210         fold when constructing sub-expressions.
10211
10212 2003-08-26  Roger Sayle  <roger@eyesopen.com>
10213
10214         * builtins.c (fold_builtin_bitop): New function to perform constant
10215         folding of ffs, clz, ctz, popcount and parity builtin functions
10216         and their long and long long variants (such as ffsl and ffsll).
10217         (fold_builtin): fold_builtin_bitop when appropriate.
10218         * simplify-rtx.c (simplify_unary_operation): Honor both
10219         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
10220         evaluating clz and ctz at compile-time, for operands wider
10221         than HOST_WIDE_INT.
10222
10223 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
10224
10225         * builtins.c (build_function_call_expr): Don't set
10226         TREE_SIDE_EFFECTS here.
10227         * expr.c (emit_block_move_via_libcall): Likewise.
10228         (clear_storage_via_libcall): Likewise.
10229         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
10230         CALL_EXPRs.
10231
10232         * gcse.c (is_too_expensive): New function.
10233         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
10234
10235 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
10236
10237         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
10238         commented-out logic to use DCE threads (if present), add
10239         support for POSIX threads.
10240         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
10241         #defines for -pthread.  Add -lpthread to LIB_SPEC when
10242         -pthread.  In both cases take -mt as a synonym for -pthread
10243         for acc compatibility.
10244         Define GTHREAD_USE_WEAK to 0.
10245         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
10246         Remove old logic for DCE threads from LIB_SPEC.
10247         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
10248
10249 2003-08-25  Roger Sayle  <roger@eyesopen.com>
10250
10251         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
10252         return 0 for invalid argument types.  Instead drop through to a
10253         call of expand_call at the bottom of function.  If op is SQRT,
10254         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
10255
10256 2003-08-25  Richard Henderson  <rth@redhat.com>
10257
10258         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
10259         result when op0 is SImode.
10260
10261 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
10262
10263         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
10264         from fixinc.svr4.
10265         * fixinc/fixincl.x: Regenerate.
10266         * fixinc/tests/base/sys/signal.h: Regenerate.
10267
10268 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
10269
10270         * combine.c (simplify_comparison): Re-enable widening of comparisons
10271         with non-paradoxical subregs of non-REG expressions.
10272
10273 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
10274
10275         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
10276
10277 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
10278
10279         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
10280
10281 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10282
10283         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
10284         * c-pretty-print.h (c_pretty_printer): Now typedef to the
10285         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
10286         (struct c_pretty_print_info): Document.  Add new fields.
10287         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
10288         (pp_direct_abstract_declarator): New macro.
10289         (pp_ptr_operator): Likewise.
10290         (pp_simple_type_specifier): Likewise.
10291         (pp_expression): Likewise.
10292         (pp_parameter_list): Rename from pp_parameter_declaration.
10293         * c-pretty-print.c (pp_c_whitespace): Now a function.
10294         (pp_c_left_paren): Likewise.
10295         (pp_c_right_paren): Likewise.
10296         (pp_c_dot): Likewise.
10297         (pp_c_ampersand): Likewise.
10298         (pp_c_arrow): Likewise.
10299         (pp_c_semicolon): Likewise.
10300         (pp_c_type_cast): New function.
10301         (pp_c_space_for_pointer_operator): Likewise.
10302         (pp_c_call_argument_list): Likewise.
10303         (pp_c_cv_qualifier): Adjust prototype.
10304         (pp_c_type_qualifier_list): Likewise.
10305         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
10306         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
10307         Adjust to follow standard grammar.
10308         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
10309         REFERENCE_TYPE.  Tidy.
10310         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
10311         (pp_c_parameter_declaration): Remove.
10312         (pp_c_abstract_declarator): Adjust prototype.
10313         (pp_c_direct_abstract_declarator): Likewise.
10314         (pp_c_type_id): Likewise.
10315         (pp_c_storage_class_specifier): Likewise.
10316         (pp_c_function_specifier): Likewise.
10317         (pp_c_declaration_specifiers): Likewise.
10318         (pp_c_direct_declarator): Likewise.
10319         (pp_c_declarator): Likewise.
10320         (pp_c_declarator): Likewise.
10321         (pp_c_declaration): Likewise.
10322         (pp_c_attributes): Likewise.  Tidy.
10323         (pp_c_function_definition): Adjust prototype.
10324         (pp_c_char): Likewise.
10325         (pp_c_string_literal): Likewise.
10326         (pp_c_integer_constant): Likewise.
10327         (pp_c_character_constant): Likewise.
10328         (pp_c_bool_constant): Likewise.
10329         (pp_c_enumeration_constant): Likewise.
10330         (pp_c_floating_constant): Likewise.
10331         (pp_c_constant): Likewise.
10332         (pp_c_identifier): Likewise.
10333         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
10334         (pp_c_initializer): Adjust prototype.
10335         (pp_c_init_declarator): Likewise.
10336         (pp_c_initializer_list): Likewise.
10337         (pp_c_id_expression): Likewise.
10338         (pp_c_postfix_expression): Likewise.
10339         (pp_c_expression_list): Likewise.
10340         (pp_c_unary_expression): Likewise.
10341         (pp_c_cast_expression): Likewise.
10342         (pp_c_multiplicative_expression): Likewise.
10343         (pp_c_additive_expression): Likewise.
10344         (pp_c_shift_expression): Likewise.
10345         (pp_c_relational_expression): Likewise.
10346         (pp_c_equality_expression): Likewise.
10347         (pp_c_and_expression): Likewise.
10348         (pp_c_exclusive_or_expression): Likewise.
10349         (pp_c_inclusive_or_expression): Likewise.
10350         (pp_c_logical_and_expression): Likewise.
10351         (pp_c_logical_or_expression): Likewise.
10352         (pp_c_conditional_expression): Likewise.
10353         (pp_c_assignment_expression): Likewise.
10354         (pp_c_expression): Likewise.  Tidy.
10355         (pp_c_statement): Likewise.  Document.
10356         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
10357
10358         * c-lang.c (c_initialize_diagnostics): Update.
10359         * c-common.h (strip_pointer_operator): Declare.
10360         * c-common.c (strip_pointer_operator): Define.
10361
10362 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
10363
10364         PR c++/8795
10365         * tree.h (build_method_type_directly): Declare.
10366         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
10367         (vector_size_helper): Likewise.
10368         * tree.c (build_method_type_directly): New function.
10369         (build_method_type): Use it.
10370
10371 2003-08-24  Richard Henderson  <rth@redhat.com>
10372
10373         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
10374         for 16-byte vector modes if sse not enabled; warn for abi change.
10375         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
10376
10377 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
10378
10379         * rtlanal.c (may_trap_p): Simplify an integer comparison.
10380
10381 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
10382
10383         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
10384         comment.  Enable for DYNIX/ptx systems (when they switch to
10385         regular fixincludes).
10386         * fixinc/fixincl.x: Regenerate.
10387
10388 2003-08-23  Jason Eckhardt  <jle@rice.edu>
10389
10390         * config/i860/t-i860: New.
10391         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
10392
10393 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
10394
10395         * c-decl.c (pushdecl): Only put decls which finish_struct will do
10396         something about onto incomplete chain.
10397         (finish_struct): If not removing type from incomplete
10398         list, update prev.
10399
10400 2003-08-20  Jan Hubicka  <jh@suse.cz>
10401
10402         PR target/11369
10403         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
10404
10405         PR target/11031
10406         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
10407         const_0_to_15_operand, const_0_to_255_operand): New predicates.
10408         * i386.h (PREDICATE_CODES): Add these.
10409         * i386.c (pinsrw and pextrw patterns): Use them.
10410
10411         PR target/10984
10412         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
10413
10414         PR target/8869
10415         * expr.c (convert_modes): Deal properly with integer to vector
10416         constant conversion.
10417
10418         PR target/8871
10419         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
10420
10421 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
10422
10423         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
10424         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
10425         ("*movhi"): ... this.
10426         ("movqi", "*movqi"): Likewise.
10427         ("movqi_64"): Remove.
10428         ("*zero_extendhisi2_31"): Change predicate to s_operand.
10429
10430 2003-08-23  Dale Johannesen  <dalej@apple.com>
10431         * calls.c (emit_library_call_value_1): Fix obvious errors in
10432         arguments to emit_group_store.
10433
10434 2003-08-23  Jason Eckhardt  <jle@rice.edu>
10435
10436         * calls.c (emit_library_call_value_1): Remove code related
10437         to LIBGCC_NEEDS_DOUBLE.
10438         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
10439         * doc/tm.texi: Likewise.
10440         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
10441
10442 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
10443
10444         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
10445
10446 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
10447
10448         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
10449         as well.  Put memory references in the varargs alias set.
10450         (mips_expand_prologue): Remove varargs handling from here.
10451
10452 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
10453
10454         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
10455         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
10456         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
10457         for function pointer calls.
10458         * config/s390/s390.md ("*negdi2_31"): Likewise.
10459
10460 2003-08-23  Roger Sayle  <roger@eyesopen.com>
10461
10462         * combine.c (apply_distributive_law): Correct comment.
10463
10464 2003-08-23  Jason Eckhardt  <jle@rice.edu>
10465
10466         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
10467
10468 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10469
10470         * config/i860/i860.c (i860_build_va_list): Create the va_decl
10471         declaration.  Document the va_list structure.
10472         (i860_va_start): Initialize the va_list structure.
10473         (i860_va_arg): Rewrite completely.
10474         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
10475         * config/i860/varargs.asm: Do not allocate or initialize
10476         a va_list.  Return the address of the register save area.
10477
10478 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10479
10480         * config/iq2000/iq2000.c: Fix comment typos.
10481         * config/iq2000/iq2000.md: Likewise.
10482
10483 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10484
10485         * config/iq2000/iq2000.c: Follow spelling conventions.
10486         * config/iq2000/iq2000.h: Likewise.
10487         * config/mn10300/mn10300.c: Likewise.
10488
10489 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10490
10491         * config/i860/i860.c (output_move_double): Don't set latehalf
10492         to zero for CONST_INT (since it could be, e.g., -1).
10493
10494         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
10495         (MODSI3_LIBCALL): ...with this one.
10496         (UREMSI3_LIBCALL): Replace this macro...
10497         (UMODSI3_LIBCALL): ...with this one.
10498
10499 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10500
10501         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
10502         (output_delayed_branch): Remove prototype.
10503         (single_insn_src_p): Remove prototype.
10504         * config/i860/i860.c (single_insn_src_p): Remove function.
10505         (output_delayed_branch): Remove function.
10506         (output_delay_insn): Remove function.
10507         (va_start): Remove unconditional test and dead code, re-format.
10508         Fix coding style and spelling problems in various comments.
10509         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
10510         (blockage pattern): ...and use it here.
10511         (all define_peephole patterns related to delayed branches): Remove.
10512         Fix coding style and spelling problems in various comments.
10513
10514 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10515
10516         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
10517         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
10518         Convert all function definitions from traditional to ISO C90 syntax.
10519         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
10520         with 'GCC'.  Remove all uses of the PARAMS macro.
10521         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
10522         * config/i860/i860.md: Likewise.
10523         * config/i860/sysv4.h: Likewise.
10524         * config/i860/varargs.asm: Likewise.
10525
10526 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10527
10528         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
10529         argument.
10530         (tdesc_section): Add prototype.
10531         Update copyright dates.
10532         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
10533         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
10534         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
10535         (targetm): Likewise.
10536         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
10537         for '%d' where necessary.
10538         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
10539         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
10540         by UNITS_PER_WORD when referencing (likewise for .floats).
10541         (I860_SVR4_VARARGS): Rename...
10542         (I860_SVR4_VA_LIST): ...to this.
10543         Call build() with 't' rather than 'field'.
10544         (i860_rtx_costs): New function.
10545         (TARGET_RTX_COSTS): Define.
10546         (i860_internal_label): New function.
10547         (TARGET_ASM_INTERNAL_LABEL): Define.
10548         (i860_file_start): New function.
10549         Update copyright dates.
10550         * config/i860/i860.h (CPP_PREDEFINES): Remove.
10551         (TARGET_CPU_CPP_BUILTINS): Define.
10552         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
10553         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
10554         (ASM_FILE_START): Remove.
10555         (ASM_FILE_START_1): Remove.
10556         (ASM_GLOBALIZE_LABEL): Remove.
10557         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
10558         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
10559         with targetm.asm_out.internal_label.
10560         Update copyright dates.
10561         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
10562         (CPP_PREDEFINES): Remove.
10563         (TARGET_OS_CPP_BUILTINS): Define.
10564         (GLOBAL_ASM_OP): Define.
10565         (ASM_FILE_START): Remove.
10566         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
10567         (TARGET_ASM_FILE_START): Define.
10568         Update copyright dates.
10569
10570 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10571
10572         * gcc/config.gcc (i860-*-sysv4*): Add target.
10573         * config/i860/i860-protos.h: New.
10574         * config/i860/i860.c: New.
10575         * config/i860/i860.h: New.
10576         * config/i860/i860.md: New.
10577         * config/i860/sysv4.h: New.
10578         * config/i860/varargs.asm: New.
10579         * config/i860/x-sysv4: New.
10580
10581 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10582
10583         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
10584         Remove all uses of PARAMS macro.
10585         Convert all function definitions to ISO C90 syntax.
10586         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
10587         * config/pa/fptr.c: Likewise.
10588         * config/pa/lib2funcs.asm: Likewise.
10589         * config/pa/long_double.h: Likewise.
10590         * config/pa/milli64.S: Likewise.
10591         * config/pa/pa-64.h: Likewise.
10592         * config/pa/pa-hpux.h: Likewise.
10593         * config/pa/pa-hpux10.h: Likewise.
10594         * config/pa/pa-hpux11.h: Likewise.
10595         * config/pa/pa-linux.h: Likewise.
10596         * config/pa/pa-modes.def: Likewise.
10597         * config/pa/pa-osf.h: Likewise.
10598         * config/pa/pa-pro-end.h: Likewise.
10599         * config/pa/pa.md: Likewise.
10600         * config/pa/pa32-linux.h: Likewise.
10601         * config/pa/pa64-linux.h: Likewise.
10602         * config/pa/pa64-hpux.h: Likewise.
10603         * config/pa/pa64-regs.h: Likewise.
10604         * config/pa/quadlib.c: Likewise.
10605         * config/pa/rtems.h: Likewise.
10606         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
10607         all uses of the PARAMS macro.
10608         * config/pa/pa.h: Likewise.
10609         * config/pa/som.h: Likewise.
10610
10611         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
10612         Remove all uses of PARAMS macro.
10613         Convert all function definitions to ISO C90 syntax.
10614         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
10615         Remove all uses of PARAMS macro.
10616         * config/iq2000.h: Remove all uses of PARAMS macro.
10617         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
10618
10619 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
10620
10621         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
10622         * config/s390/s390.c (gen_consttable): Remove.
10623         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
10624         (s390_output_pool_entry): New function.
10625         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
10626         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
10627         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
10628         (UNSPECV_POOL_ENTRY): ... this new constant.
10629         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10630         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
10631         ("*pool_entry"): ... and replace by this new insn.
10632         ("literal_pool_31"): Do not emit anchor label if pool empty.
10633
10634         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
10635         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
10636         (s390_fixup_clobbered_return_reg): Remove.
10637         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
10638         (s390_return_addr_rtx): Always retrieve return address from save area
10639         slot.  Use save_return_addr_p to force slot to be filled.
10640         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
10641
10642 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
10643
10644         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
10645         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
10646         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
10647         around SB-1 errata if TARGET_FIX_SB1 is set.
10648         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
10649         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
10650
10651 2003-08-22  Roger Sayle  <roger@eyesopen.com>
10652
10653         * hashtable.c (ht_expand): Avoid calculating rehash for the common
10654         case that the first probe hits an empty hash table slot.
10655
10656 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10657
10658         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
10659
10660 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10661
10662         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
10663         (ptr_extend_plus_imm): ... this.
10664         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
10665         optimization in C++.
10666         (ia64_output_mi_thunk): Support ILP32 mode.
10667
10668 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10669
10670         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
10671         function.
10672         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
10673
10674 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10675
10676         * config/i386/i386.c (const_int_1_operand): Simplify an
10677         integer comparison.
10678
10679 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
10680
10681         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
10682         * config/rs6000/ppc64-fp.c: Likewise.
10683
10684 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10685
10686         * cfgcleanup.c: Fix comment typos.
10687         * emit-rtl.c: Likewise.
10688         * optabs.c: Likewise.
10689         * ra-build.c: Likewise.
10690         * rtlanal.c: Likewise.
10691         * tree.h: Likewise.
10692
10693 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10694
10695         * c-decl.c: Fix comment formatting.
10696         * cfgrtl.c: Likewise.
10697         * combine.c: Likewise.
10698         * convert.c: Likewise.
10699         * dominance.c: Likewise.
10700         * dwarf2out.c: Likewise.
10701         * dwarfout.c: Likewise.
10702         * expmed.c: Likewise.
10703         * fold-const.c: Likewise.
10704         * gcov.c: Likewise.
10705         * genattrtab.c: Likewise.
10706         * ggc-common.c: Likewise.
10707         * mips-tfile.c: Likewise.
10708         * regmove.c: Likewise.
10709
10710 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10711
10712         * builtin-attrs.def: Fix comment formatting.
10713         * c-pretty-print.c: Likewise.
10714         * diagnostic.h: Likewise.
10715         * langhooks.h: Likewise.
10716         * recog.c: Likewise.
10717         * simplify-rtx.c: Likewise.
10718         * tree.def: Likewise.
10719
10720 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10721
10722         * config/m68k/m68k-protos.h: Convert to ISO C90.
10723         * config/m68k/m68k.c: Likewise.
10724
10725 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
10726             Paul Dale  <pauli@snapgear.com>
10727             Peter Barada <peter@baradas.org>
10728
10729         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
10730         ColdFire cores.
10731
10732 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
10733
10734         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
10735         * config.gcc (*-*-openbsd): Don't set tm_file.
10736         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
10737         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
10738         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
10739         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
10740         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
10741         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
10742         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
10743         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
10744         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
10745         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
10746         xscale-*-coff): Use explicit and complete lists of target headers
10747         to include.  Move definitions to tm_defines where appropriate.
10748         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
10749         not-yet-contributed configuration.
10750
10751         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
10752         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
10753         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
10754         * config/i386/nto.h, config/iq2000/iq2000.h,
10755         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
10756         * config/m68k/linux.h, config/m68k/m68k-aout.h
10757         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
10758         * config/m68k/netbsd.h, config/m68k/openbsd.h
10759         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
10760         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
10761         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
10762         Remove includes of other target config headers, and
10763         definitions of macros moved to tm_defines lists.  Add #undefs
10764         where now necessary to prevent redefinition warnings.
10765
10766         * config/h8300/coff.h: New file split out of...
10767         * config/h8300/elf.h: ...here.
10768         * config/m68k/hp320base.h: New file split out of...
10769         * config/m68k/hp320.h: ...here.
10770         * config/rs6000/lynxbase.h: New file split out of...
10771         * config/rs6000/lynx.h: ...here.
10772
10773         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
10774         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
10775
10776         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
10777         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
10778         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
10779         Remove unnecessary #ifndef.
10780         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
10781         [under IN_LIBGCC2] with config/.
10782
10783 2003-08-21  Per Bothner  <pbothner@apple.com>
10784
10785         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
10786         to cpp_push_buffer.
10787         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
10788         by return_at_eof check.  Always call _cpp_pop_buffer at end.
10789
10790 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
10791
10792         PR target/11805
10793         * config/h8300/h8300.md (two anonymous patterns): Remove.
10794
10795 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
10796
10797         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
10798         * config/mips/mips.c (function_arg_pass_by_reference): Never return
10799         true for n32 & n64.
10800
10801 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
10802
10803         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
10804         and similarly in (A | C) == D where C & ~D != 0.
10805
10806 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
10807
10808         PR 8180
10809         * configure.in: When testing with_libs and with_headers, treat
10810         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
10811         * configure: Regenerate.
10812
10813 2003-08-20  Peter Barada <peter@baradas.org>
10814
10815         * longlong.h (umul_ppmm): Add ColdFire support.
10816
10817 2003-08-20  Peter Barada <peter@baradas.org>
10818             Bernardo Innocenti  <bernie@develer.com>
10819
10820         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
10821         * config/m68k/m68k.h: Likewise.
10822         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
10823         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
10824         * config/m68k/linux.h: Likewise.
10825         * config/m68k/m68k.c: Likewise.
10826         * config/m68k/m68k.md: Likewise.
10827         * config/m68k/m68kelf.h: Likewise.
10828         * config/m68k/netbsd-elf.h: Likewise.
10829         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
10830
10831 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
10832
10833         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
10834         * config/m68k/m68k.md: Likewise.
10835
10836 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
10837
10838         PR java/11996
10839         Revert this change:
10840         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10841         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10842         types with precisions other than those given by native machine
10843         modes.
10844
10845 2003-08-20  Gunther Nikl  <gni@gecko.de>
10846
10847         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
10848         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
10849         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
10850         * config/m68k/m68k.md (anonymous define_insn): Likewise
10851         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
10852         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
10853         code selected by NO_ASM_FMOVECR
10854
10855 2003-08-20  Gunther Nikl  <gni@gecko.de>
10856
10857         * config/m68k/m68k.c (output_move_const_into_data_reg,
10858         output_move_himode): unify MOTOROLA/MIT handling of moveq
10859         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
10860         Likewise
10861
10862 2003-08-20  Gunther Nikl  <gni@gecko.de>
10863
10864         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
10865         label name
10866         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
10867         HOST_WIDE_INT_PRINT_DEC with %wd
10868
10869 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
10870
10871         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
10872         redefine warning.
10873
10874 2003-08-20  Roger Sayle  <roger@eyesopen.com>
10875
10876         PR middle-end/11984
10877         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
10878         operands before calling tree_int_cst_lt when performing associative
10879         transformations.
10880
10881 2003-08-20  Jason Merrill  <jason@redhat.com>
10882
10883         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
10884         (EXPR_CHECK): Don't check for 'r' or 's' if we're
10885         checking IS_EXPR_CODE_CLASS.
10886         * calls.c (calls_function_1): Likewise.
10887         * fold-const.c (fold): Likewise.
10888         * tree.c (iterative_hash_expr): Likewise.
10889         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
10890
10891 2003-08-20  Gunther Nikl  <gni@gecko.de>
10892
10893         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
10894         depending on MOTOROLA_BSR
10895         * config/m68k/m68k.md (anonymous define_insn): Likewise
10896
10897 2003-08-20  Jason Merrill  <jason@redhat.com>
10898
10899         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
10900         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
10901         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
10902         * dojump.c (do_jump): Likewise.
10903         * fold-const.c (operand_equal_p, fold): Likewise.
10904         (tree_expr_nonnegative_p): Likewise.
10905
10906         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
10907         TYPE_USER_ALIGN for FIELD_DECLs.
10908
10909         * attribs.c (decl_attributes): Rebuild the function pointer type after
10910         changing the target type.
10911         * tree.c (get_qualified_type): Also check that the attributes match.
10912
10913 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
10914
10915         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
10916         * objc/config-lang.in (stagestuff): ... to here.
10917
10918 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10919
10920         PR c++/11946
10921         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10922         NOP_EXPR) when necessary.
10923         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10924         types with precisions other than those given by native machine
10925         modes.
10926
10927 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
10928
10929         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10930         because some macro is defined.
10931
10932         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10933         options.
10934         * config/i386/darwin.h (ASM_SPEC): New.
10935         (SUBTARGET_EXTRA_SPECS): New.
10936         * config/rs6000/darwin.h (ASM_SPEC): New.
10937         (SUBTARGET_EXTRA_SPECS): New.
10938         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10939         a cross-compiler between two different processors on Darwin.
10940         * configure: Regenerate.
10941
10942 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10943
10944         * builtins.c: Fix comment typos.
10945         * c-common.c: Likewise.
10946         * c-decl.c: Likewise.
10947         * c-pretty-print.c: Likewise.
10948         * cfgbuild.c: Likewise.
10949         * cfglayout.c: Likewise.
10950         * cfgloopanal.c: Likewise.
10951         * cgraphunit.c: Likewise.
10952         * cppfiles.c: Likewise.
10953         * dwarfout.c: Likewise.
10954         * expr.c: Likewise.
10955         * fold-const.c: Likewise.
10956         * gcse.c: Likewise.
10957         * ggc-page.c: Likewise.
10958         * haifa-sched.c: Likewise.
10959         * pretty-print.c: Likewise.
10960         * tree.c: Likewise.
10961         * tree.h: Likewise.
10962         * value-prof.c: Likewise.
10963
10964 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10965
10966         * c-decl.c: Follow spelling conventions.
10967         * cppfiles.c: Likewise.
10968
10969 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10970
10971         * c-common.c: Fix comment formatting.
10972         * c-common.h: Likewise.
10973         * c-decl.c: Likewise.
10974         * cppinit.c: Likewise.
10975         * cpplib.h: Likewise.
10976         * emit-rtl.c: Likewise.
10977         * input.h: Likewise.
10978         * line-map.h: Likewise.
10979         * opts.c: Likewise.
10980         * opts.h: Likewise.
10981         * simplify-rtx.c: Likewise.
10982
10983 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
10984
10985         * unwind-c.c: Add libgcc-style exception.
10986         * unwind-dw2.c: Likewise.
10987         * unwind-pe.h: Likewise.
10988         * unwind-sjlj.c: Likewise.
10989         * unwind.inc: Likewise.
10990
10991 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10992
10993         PR c/5582 PR c++/10538
10994         * langhooks-def.h (lhd_decl_uninit): Declare.
10995         (LANG_HOOKS_DECL_UNINIT): New macro.
10996         (LANG_HOOKS_INITIALIZER): Adjust.
10997         * langhooks.h (struct lang_hooks): Add new field
10998         decl_uninit.
10999         * langhooks.c (lhd_decl_uninit): Define.
11000         * c-common.c (c_decl_uninit_1): New function.
11001         (c_decl_uninit): New function.
11002         (warn_init_self): Define.
11003         * c-common.h (c_decl_uninit): Declare.
11004         (warn_init_self): Declare.
11005         * c.opt: Introduce -Winit-self.
11006         * c-opts.c (c_common_handle_options): Set warn_init_self.
11007         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
11008         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
11009         * function.c (uninitialized_vars_warning): Call the language hook.
11010         * doc/invoke.texi: Document -Winit-self.
11011
11012 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
11013
11014         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
11015         to use better predicates and constraints.  Define new
11016         instruction to handle "trap_if" with DI-mode arguments.
11017         (conditional_trap): FAIL if trap code is not 0.
11018
11019 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
11020
11021         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
11022         strstr with $pb to a strcompare with "<pic base>"
11023         (ix86_output_addr_diff_elt): Output the real pic base.
11024
11025 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11026
11027         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
11028         (LANG_HOOKS_INITIALIZER): Correct.
11029         * c-lang.c: Likewise.
11030
11031 2003-08-19  Jan Hubicka  <jh@suse.cz>
11032
11033         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
11034         (cgraph_varpool_mark_needed_node): Likewise.
11035         * cgraph.h (notice_global_symbol): Declare
11036         * varasm.c (notice_global_symbol): Break out from ...
11037         (assemble_start_function): ... here; update for variables.
11038         (assemble_variable): Use notice_global_symbol.
11039
11040 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
11041
11042         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
11043         expect SFmode and DFmode arguments to be passed in FPRs,
11044         regardless of the underlying type.
11045
11046 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
11047
11048         PR target/11924
11049         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
11050         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
11051
11052 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
11053
11054         PR c/11207
11055         * c-typeck.c (set_init_index): Check for negative index.
11056
11057 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
11058
11059         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
11060         call0 ABI.
11061         * config/xtensa/crtn.asm (_init, _fini): Likewise.
11062         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
11063         __umodsi3, __modsi3): Likewise.
11064         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
11065         $(INCLUDES).
11066
11067 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
11068
11069         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
11070
11071 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
11072
11073         * config/mips/mips.md: Quote C code in braces.  Remove use of
11074         fake const0_rtx operands.  Remove double backslashes.  Use \;.
11075         Remove workarounds for bogus warnings.
11076
11077 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
11078
11079         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
11080         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
11081         rather than TARGET_MIPS4300.
11082         (mulsf3_internal, mulsf3_r4300): Likewise.
11083
11084 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
11085
11086         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
11087
11088 2003-08-17  Roger Sayle  <roger@eyesopen.com>
11089
11090         * simplify-rtx.c (associative_constant_p): New function to test
11091         whether an RTX expression is an immediate constant.
11092         (simplify_associative_operation): New function to perform some
11093         reassociation optimizations of associative binary expressions.
11094         (simplify_binary_operation): Use simplify_associative_operation
11095         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
11096         Floating point expressions are only reassociated when unsafe
11097         math optimizations are permitted.
11098
11099 2003-08-17  Andreas Jaeger  <aj@suse.de>
11100
11101         * config/alpha/alpha.md: Remove usage of PARAMS.
11102
11103         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
11104         * config/i386/i386-interix.h: Likewise.
11105         * config/i386/winnt.c: Likewise.
11106         * config/i386/cygming.h: Likewise.
11107         * config/i386/cygwin2.c: Likewise.
11108         * config/darwin.c: Likewise.
11109         * config/darwin-c.c: Likewise.
11110         * config/darwin-protos.h: Likewise.
11111         * config/darwin.h: Likewise.
11112         * config/s390/s390-protos.h: Likewise.
11113         * config/s390/s390.c: Likewise.
11114         * config/ia64/ia64.c: Likewse
11115         * config/ia64/ia64-protos.h: Likewise.
11116         * config/ia64/ia64-c.c: Likewise.
11117
11118 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11119
11120         * config/sparc/sparc.c: Convert to ISO C.
11121
11122         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
11123         * config/sparc/sparc.c: Likewise.
11124
11125 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
11126
11127         PR c++/11512
11128         * stmt.c (expand_expr_stmt_value): Don't warn about any void
11129         typed expression.
11130
11131 2003-08-16  Jan Hubicka  <jh@suse.cz>
11132
11133         * i386.c (ix86_fntype_regparm): Rename from ...
11134         (ix86_function_regparm): ... this one; add fastcall and local
11135         functions.
11136         (ix86_function_ok_for_sibcall): Update.
11137         (ix86_return_pops_args): Likewise.
11138         (init_cumulative_args): Likewise.
11139         (x86_can_output_mi_thunk): Likewise.
11140         (function_arg): Fix formating.
11141         (x86_this_parameter): Fix fastcall.
11142         (x86_output_mi_thunk): Likewise.
11143
11144         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
11145         body as reachable; mark nested functions as needed too.
11146         (dump_cgraph): Do not output global.calls.
11147         * cgraph.h (cgraph_global_info): Kill.
11148         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
11149         (record_call_1): Speedup.
11150         (cgraph_analyze_function): Break out from ...; compute inlining
11151         parameters.
11152         (cgraph_finalize_compilation_unit): ... here.
11153         (cgraph_mark_inline): Kill computation of calls.
11154         (cgraph_decide_inlining): Do not compute most of initial values.
11155
11156 2003-08-14  Roger Sayle  <roger@eyesopen.com>
11157
11158         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
11159         to negate if either operand is easy to negate, if we don't care
11160         about sign-dependent rounding.
11161         (negate_expr): Make the logic to negate a REAL_CST explicit.
11162         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
11163         that's easy to negate, if we don't honor sign-dependent rounding.
11164         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
11165         negate, and the symmetric A * -B as -A * B if A is easy to negate.
11166         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
11167         -C/D if B and C are cheap to negate.  Add an explicit rule to
11168         optimize X/-1.0 as -X when we don't care about signaling NaNs.
11169
11170 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
11171
11172         * Makefile.in (tm_file): Rename tm_include_list.
11173         (tm_p_file): Rename tm_p_include_list.
11174         (build_xm_file): Rename build_xm_include_list.
11175         (host_xm_file): Rename host_xm_include_list.
11176         (xm_file): Rename xm_include_list.
11177         (xm_file_list): Add to be substituted.
11178         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
11179         Update to match.
11180         (bt-load.o): Add missing dependency on $(TM_H).
11181         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
11182         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
11183         build_xm_file, generate both *_file_list and *_include_list
11184         values from it.  (xm_file_list was formerly not being generated.)
11185         In *_include_list, prefix the names of all headers found in
11186         $(srcdir)/config with config/.  In each loop, consider only
11187         the special case files that can actually appear in that list.
11188         AC_SUBST all *_file_list and all *_include_list variables; do
11189         not AC_SUBST the plain *_file variables.
11190         * configure: Regenerate.
11191
11192 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11193
11194         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
11195
11196 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11197
11198         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
11199         direct calls.
11200         (attr_length_call): Include it here.  Improve length estimate for
11201         local calls.
11202         (output_call): Use targetm.binds_local_p.
11203
11204 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11205
11206         * builtins.c (CASE_MATHFN): New helper macro.
11207         (mathfn_built_in): Simplify and sort.
11208
11209         * protoize.c (substr): Delete, callers changed to `strstr'.
11210
11211 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
11212
11213         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
11214         * config/iq2000/xm-iq2000.h: Delete file.
11215
11216 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
11217
11218         * gengtype.c (walk_type): Process a subobject before processing
11219         the pointer that points to the subobject.
11220
11221 2003-08-13  Per Bothner  <pbothner@apple.com>
11222
11223         * regclass.c (init_reg_modes):  Make non-static.
11224         Rename to init_reg_modes_once per new naming convention.
11225         (init_regs):  Don't call init_reg_modes here.
11226         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
11227         * rtl.h (init_reg_modes_once):  New declaration.
11228         * toplev.c (backend_init):  Call init_regs after init_emit_once.
11229
11230 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
11231
11232         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
11233         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
11234
11235 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
11236
11237         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
11238         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
11239
11240 2003-08-13  Dale Johannesen  <dalej@apple.com>
11241
11242         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
11243         handling of decrement-and-branch farther than 32 bits.
11244
11245 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
11246
11247         * configure.in (make_compare_target): Move test to ...
11248         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
11249         * configure: Regenerate.
11250
11251 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
11252
11253         * config/mips/iris6.h: Convert to C90 prototypes.
11254         * config/mips/irix6-libc-compat.c: Likewise.
11255         * config/mips/mips-protos.h: Likewise.
11256         * config/mips/mips.c: Likewise.
11257
11258 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11259
11260         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
11261         for selected machines.  Comment heavily.
11262         fixinc/fixincl.x: Rebuild.
11263         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
11264
11265 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
11266
11267         * config/mips/mips.h: Tweak various comments.
11268         * config/mips/mips.c: Likewise.
11269
11270 2003-08-11  James E Wilson  <wilson@tuliptree.org>
11271
11272         PR optimization/11319
11273         PR target/10021
11274         * alias.c (find_base_value, case REG): Return 0 not src if no base
11275         found.
11276
11277 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11278
11279         * gcse.c (gmalloc): Fix last change.
11280
11281 2003-08-11  Roger Sayle  <roger@eyesopen.com>
11282
11283         * simplify-rtx.c (simplify_binary_operation): Replace calls to
11284         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
11285         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
11286         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
11287
11288 2003-08-11  Roger Sayle  <roger@eyesopen.com>
11289
11290         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
11291         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
11292         typecode for an ABS_EXPR.
11293
11294         * doc/c-tree.texi: Document ABS_EXPR.
11295
11296 2003-08-11  Roger Sayle  <roger@eyesopen.com>
11297
11298         * fold-const.c (fold): Optimize any associative floating point
11299         operator with -funsafe-math-optimizations, not just MULT_EXPR.
11300
11301 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
11302
11303         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
11304         information in SHmedia case too.
11305         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
11306         Likewise.
11307         (__set_fpscr): Use an access via GOT for PIC case.
11308
11309 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
11310
11311         * configure.in (intermodule): Make switch test more portable.
11312         * configure: Regenerate.
11313
11314 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
11315
11316         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
11317         (restrap): Likewise.
11318
11319 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11320
11321         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
11322         (grealloc): Size argument is a size_t.
11323         (gcalloc): New function.  Use throughout in lieu of
11324         gmalloc/memset.
11325
11326         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
11327         xmalloc/memset.
11328         * config/ia64/ia64.c (ia64_reorg): Likewise.
11329         * conflict.c (conflict_graph_new): Likewise.
11330         * fixinc/fixincl.c (run_compiles): Likewise.
11331         * genattrtab.c (optimize_attrs): Likewise.
11332         * genrecog.c (new_decision): Likewise.
11333         * haifa-sched.c (schedule_block): Likewise.
11334         * hashtable.c (ht_create): Likewise.
11335
11336 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
11337
11338         * config/xtensa/lib2funcs.S: Fix whitespace.
11339         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
11340         syntax where appropriate.  Remove unnecessary backslash escapes.
11341         Reformat comments and fix some code formatting.
11342         (extendqisi2): Rearrange conditional.
11343         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
11344         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
11345         of fatal_insn.
11346
11347 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
11348
11349         * config/mips/mips.c: Various formatting fixes.
11350         (override_options): Resync -mtune handling with gas.
11351         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
11352         * config/mips/mips.h: More formatting fixes.
11353         (mips_abi): Move declaration.
11354         * config/mips/mips.md (exception_receiver): Add mode to
11355         unspec_volatile.
11356
11357 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
11358
11359         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
11360         evsplatfi here.
11361         (bdesc_1arg): Remove evsplati and evsplatfi.
11362
11363 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
11364
11365         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
11366         into account.
11367
11368 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11369
11370         * builtins.c (expand_builtin_strcat): Optimize constant strings.
11371
11372 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11373
11374         * pretty-print.c (pp_base_indent): Rename from pp_indent.
11375         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
11376         (struct c_pretty_print_info): Add more fields.
11377         (pp_c_left_paren): Move to c-pretty-print.c.
11378         (pp_c_right_paren): Likewise.
11379         (pp_c_left_brace): Likewise.
11380         (pp_c_right_brace): Likewise.
11381         (pp_c_left_bracket): Likewise.
11382         (pp_c_right_bracket): Likewise.
11383         (pp_c_declarator): Declare.
11384         (pp_c_direct_declarator): Likewise.
11385         (pp_c_specifier_qualifier_list): Likewise.
11386         (pp_c_type_id): Likewise.
11387         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
11388         (pp_c_type_qualifier_list): New.
11389         (pp_c_pointer): Likewise.
11390         (pp_c_parameter_type_list): Likewise.
11391         (pp_c_function_definition): Likewise.
11392         (pp_c_id_expression): Likewise.
11393         (pp_c_simple_type_specifier): Tidy.
11394         (pp_c_unary_expression): Likewise.
11395         (pp_c_expression): Likewise.
11396         (pp_c_pretty_printer_init): Likewise.
11397         (pp_c_specifier_qualifier_list): Rework..
11398         (pp_c_abstract_declarator): Likewise.
11399         (pp_c_postfix_expression): Likewise.
11400         (pp_c_primary_expression): Likewise.
11401         (pp_c_cast_expression): Likewise.
11402         (pp_c_direct_abstract_declarator): Likewise.
11403         (pp_c_storage_class_specifier): Likewise.
11404         (pp_c_function_specifier): Likewise.
11405         (pp_c_declaration_specifiers): Likewise.
11406         (pp_c_direct_declarator): Likewise.
11407         (pp_c_declarator): Likewise.
11408         (pp_c_declaration): Likewise.
11409         (pp_c_statement): Likewise.
11410         (pp_c_integer_constant): Rename from pp_c_integer_literal.
11411         (pp_c_character_constant): Rename from pp_c_character_literal.
11412         (pp_c_bool_constant): Rename from pp_c_bool_literal.
11413         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
11414         (pp_c_floating_constant): Rename from pp_c_real_literal.
11415         (pp_c_constant): Rename from pp_c_literal.
11416         * c-lang.c: Include diagnostic.h and c-pretty-print.h
11417         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
11418         (c_initialize_diagnostics): New.
11419         * Makefile.in (c-lang.o): Update dependency.
11420
11421 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
11422
11423         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
11424
11425 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
11426
11427         * config/mips/mips.c (mips_no_mips16_string): Remove.
11428         (override_options): Don't handle -mips16 as part of -mipsN.
11429         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
11430         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
11431         (TARGET_OPTIONS): Remove -mno-mips16.
11432
11433 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
11434
11435         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
11436         (coprocessor2_operand): Likewise.
11437         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
11438         (lookup_name): Remove declaration.
11439         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
11440         (mips16, mips_abicalls): Remove.
11441         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
11442         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
11443         (coprocessor_operand, coprocessor2_operand): Remove.
11444         (override_options): Don't set mips16 or mips_abicalls.
11445         (print_operand): Don't expect SIGN_EXTEND operands.
11446         (mips_secondary_reload_class): Likewise.
11447         (mips_output_conditional_branch): Remove disabled long-branch code.
11448         * config/mips/mips.h (call_used_regs): Remove declaration.
11449         (may_call_alloca): Likewise.
11450         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
11451         (mips_abicalls, mips16): Remove declarations.
11452         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
11453         (CC1_SPEC): Remove outdated comment.
11454         (MIPS_VERSION, MACHINE_TYPE): Remove.
11455         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
11456         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
11457         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
11458         (PUSH_ROUNDING): Likewise.
11459         (ASSEMBLER_SCRATCH_REGNUM): Remove.
11460         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
11461         and mips16 with TARGET_MIPS16.
11462
11463 2003-08-09  Per Bothner  <pbothner@apple.com>
11464
11465         * cppinit.c (cpp_read_main_file):  Split out source-independent
11466         initialization to separate function ...
11467         (cpp_post_options):  New function.
11468         * cppfiles.c (cpp_stack_file):  Rename public name to ...
11469         (_cpp_stack_file):  New internal function name.
11470         * cpplib.h:  Update accordingly.
11471         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
11472         (cpp_read_main_file):  Don't initialize line here.
11473         * c-opts.c (c_common_post_options):  Call cpp_post_options.
11474         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
11475         * fix-header.c (read_scan_file):  Call cpp_post_options.
11476
11477 2003-08-09  Per Bothner  <per@bothner.com>
11478
11479         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
11480
11481 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11482
11483         * pa.c (pa_asm_output_mi_thunk): Fix typo.
11484
11485 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
11486
11487         PR preprocessor/11839
11488         * cppfiles.c (open_file): Handle ENOTDIR.
11489
11490 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
11491
11492         PR target/11699
11493         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
11494
11495 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11496
11497         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
11498         source/destination is not a register operand.
11499
11500 2003-08-08  Richard Henderson  <rth@redhat.com>
11501
11502         PR target/11535
11503         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
11504         RETURN_ADDRESS_POINTER_REGNUM.
11505         (ia64_expand_prologue): Don't frob it.
11506         (ia64_output_function_epilogue): Likewise.
11507         (ia64_return_addr_rtx): New.
11508         (ia64_split_return_addr_rtx): New.
11509         * config/ia64/ia64-protos.h: Update.
11510         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
11511         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
11512         (GENERAL_REGNO_P): Don't check it.
11513         (AR_*_REGNUM): Renumber.
11514         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
11515         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
11516         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
11517         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
11518         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
11519         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
11520         (movdi_ret_addr): New.
11521
11522 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
11523
11524         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
11525
11526 2003-08-08  Roger Sayle  <roger@eyesopen.com>
11527
11528         * tree.h (get_identifier) Define a macro form of get_identifier
11529         that calls get_identifier_with_length when the string is constant.
11530         (get_identifier_with_length): Change type of second argument to
11531         size_t in prototype.
11532         * stringpool.c (get_identifier): Undefine the macro before giving
11533         the function definition.
11534         (get_identifier_with_length): Change  type of second argument to
11535         size_t in function definition.
11536         * hashtable.c (calc_hash): Change type of second argument to size_t.
11537         (ht_lookup): Change type of third argument to size_t.  Reorganize
11538         to speed-up the cases where the hash table slot is empty, or the
11539         first probe matches (i.e. there isn't a collision).
11540         * hashtable.h (ht_lookup): Adjust function prototype.
11541
11542 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
11543
11544         PR target/9697
11545         PR target/11777
11546         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
11547
11548 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
11549
11550         * common.opt: Add debug switches.
11551         * flags.h (use_gnu_debug_info_extensions): Boolify.
11552         * opts.c (write_symbols, debug_info_level,
11553         use_gnu_debug_info_extensions): Move from toplev.c.
11554         (set_debug_level): New.
11555         (common_handle_options): Handle debug switches.
11556         (print_help): Display target options directly.
11557         * toplev.c (debug_hooks): Don't initialize.
11558         (write_symbols, debug_info_level,
11559         use_gnu_debug_info_extensions): Move to opts.c.
11560         (debug_args, display_help, decode_g_option): Remove.
11561         (process_options): Set no debug if level zero here,
11562         and no-debug-hooks.  Error here if impossible debug format selected.
11563         * toplev.h (display_help, decode_g_option): Remove.
11564
11565 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
11566
11567         * tree.c (get_file_function_name_long): Fix size of alloca() area.
11568
11569 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
11570
11571         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
11572         and gcc_cv_prog_cmp_skip.
11573         * configure: Regenerate.
11574
11575 2003-08-08  Stan Cox  <scox@redhat.com>
11576
11577         * config/iq2000: New port.
11578         * config.gcc (iq2000-*-elf): Added.
11579         * doc/install.texi (Specific):  Add iq2000 description.
11580
11581 2003-08-08  Andreas Schwab  <schwab@suse.de>
11582
11583         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
11584         and insert missing empty argument.
11585         * configure: Regenerate.
11586
11587 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11588
11589         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
11590         (attr_length_millicode_call): Likewise.
11591         (attr_length_call): Likewise.  Revise some maximum insn lengths.
11592         (attr_length_indirect_call): Likewise.
11593         (output_call): Fix thinko that added extra nop.
11594         * pa.h (IN_NAMED_SECTION_P): Define.
11595
11596         PR c++/11712
11597         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
11598         __STDC_EXT__ when using C++ dialect.
11599
11600 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
11601
11602         * sh.c (calc_live_regs): If the return address pointer is live,
11603         force pr live.
11604         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
11605         for saves / restores.
11606         (sh_expand_epilogue): If sh_media_register_for_return returns a
11607         register number, flag the instructions that restores PR_MEDIA_REG
11608         as possibly dead.
11609         Remove dead update of offset.
11610         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
11611         we can use the result of get_hard_reg_initial_val.
11612         * sh.md (UNSPEC_RA): New constant.
11613         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
11614         (load_ra).  Handle UNSPEC_RA.
11615         (sibcall_media): Use PR_MEDIA_REG.
11616
11617         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
11618         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
11619         needs saving on SHmedia.
11620
11621 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
11622
11623         * config/s390/s390.md: Replace all occurrences of \\t with \t.
11624
11625 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
11626
11627         * local-alloc.c (combine_regs): Fix comment typo.
11628
11629 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
11630
11631         * c-decl.c (builtin_decls): Replace with first_builtin_decl
11632         and last_builtin_decl.
11633         (c_init_decl_processing): Initialize both.
11634         (c_reset_state): Iterate from first_builtin_decl to
11635         last_builtin_decl inclusive to reintroduce builtins.
11636
11637 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
11638
11639         * doc/extend.texi (Function Attributes): Document the IA-64 version
11640         of the "model" attribute.
11641
11642         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
11643         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
11644         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
11645
11646         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
11647         (ia64_encode_section_info): Likewise.
11648         (ia64_attribute_table): Add "model" attribute.
11649         (TARGET_ENCODE_SECTION_INFO): Define.
11650         (small_addr_symbolic_operand): New function.
11651         (got_symbolic_operand): Return 0 for a symbolref to an object
11652         in the small address area.
11653         (enum ia64_addr_area): New type.
11654         (small_ident1): New variable.
11655         (small_ident2): Likewise.
11656         (init_idents): New function.
11657         (ia64_get_addr_area): Likewise.
11658         (ia64_encode_addr_area): Likewise.
11659         (ia64_encode_section_info): Likewise.
11660         (ia64_expand_load_address): For symbolic references to objects in
11661         the small-address-area, load the address via gen_rtx_SET() (which,
11662         eventually, will expand into "addl").
11663
11664 2003-08-06  Per Bothner  <pbothner@apple.com>
11665
11666         * line-map.h (fileline):  New typedef.
11667         (struct line_map, linemap_add, linemap_lookup):  Use it.
11668         * input.h (struct location_s):  Comment notes that long-term we want
11669         to replace it by fileline.
11670
11671 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
11672
11673         Fix SHcompact exception handling:
11674         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
11675         by the prologue, return a MEM with return_address_pointer_rtx
11676         as address.
11677         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
11678         (RETURN_ADDR_OFFSET): Don't define.
11679         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
11680         registers that are visible in compact mode.  Show that SHmedia
11681         registers still exist in compact mode, even if there are not
11682         readily accessible.
11683         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
11684         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
11685         and DW_EH_PE_pcrel for pic data.
11686         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
11687         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
11688         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
11689         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
11690         * sh.md (movsi_media-1): New splitter.
11691
11692 2003-08-06  Graeme Peterson <gp@qnx.com>
11693
11694         * config/i386/nto.h: New.
11695         * config/i386/t-nto: New.
11696         * config.gcc (i[34567]86-*-nto-qnx*): New.
11697
11698 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
11699
11700         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
11701
11702 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
11703
11704         * calls.c (load_register_parameters): Arrange for call_fusage to
11705         report the whole register as used when shifting to the msb.
11706
11707 2003-08-05  Roger Sayle  <roger@eyesopen.com>
11708
11709         * builtins.c (expand_builtin): When not optimizing, call the library
11710         function for all builtins that have library functions (except alloca).
11711
11712 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
11713
11714         * c.opt: Introduce -fworking-directory.
11715         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
11716         * c-common.h (flag_working_directory): Declare.
11717         * c-common.c (flag_working_directory): Define.
11718         * c-opts.c (c_common_handle_options): Set it.
11719         (sanitize_cpp_opts): Set...
11720         * cpplib.h (struct cpp_options): ... working_directory option.
11721         (struct cpp_callbacks): Add dir_change.
11722         * cppinit.c (read_original_filename): Call...
11723         (read_original_directory): New.  Look for # 1 "directory//"
11724         and process it.
11725         (cpp_read_main_file): Call dir_change callback if working_directory
11726         option is set.
11727         * gcc.c (cpp_unique_options): Pass -g*.
11728         * c-lex.c (cb_dir_change): New.
11729         (init_c_lex): Set dir_change callback.
11730         * toplev.c (src_pwd): New static variable.
11731         (set_src_pwd, get_src_pwd): New functions.
11732         * toplev.h (get_src_pwd, set_src_pwd): Declare.
11733         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
11734         * dwarf2out.c (gen_compile_unit_die): Likewise.
11735         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
11736
11737 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11738
11739         * pretty-print.h (pp_set_line_maximum_length): Make macro.
11740         (pp_set_prefix): Likewise.
11741         (pp_destroy_prefix): Likewise.
11742         (pp_remaining_character_count_for_line): Likewise.
11743         (pp_clear_output_area): Likewise.
11744         (pp_formatted_text): Likewise.
11745         (pp_last_position_in_text): Likewise.
11746         (pp_emit_prefix): Likewise.
11747         (pp_append_text): Likewise.
11748         (pp_flush): Likewise.
11749         (pp_format_text): Likewise.
11750         (pp_format_verbatim): Likewise.
11751         (pp_tree_identifier): Tidy.
11752         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
11753         (pp_base_format_verbatim): Rename from pp_format_verbatim.
11754         (pp_base_flush): Rename from pp_flush.
11755         (pp_base_set_line_maximum_length): Rename from
11756         pp_set_line_maximum_length.
11757         (pp_base_clear_output_area): Rename from pp_clear_output_area.
11758         (pp_base_set_prefix): Rename from pp_set_prefix.
11759         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
11760         (pp_base_emit_prefix): Rename from pp_emit_prefix.
11761         (pp_base_append_text): Rename from pp_append_text.
11762         (pp_base_formatted_text): Rename from pp_formatted_text.
11763         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
11764         (pp_base_remaining_character_count_for_line): Rename from
11765         pp_remaining_character_count_for_line.
11766         * diagnostic.h (diagnostic_format_decoder): Tidy.
11767         (diagnostic_flush_buffer): Likewise.
11768         * c-pretty-print.h: (pp_c_string_literal): Declare.
11769         (pp_c_real_literal): Likewise.
11770         (pp_c_integer_literal): Likewise.
11771         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
11772         pp_identifier.
11773         (pp_c_character_literal): Tidy.
11774         (pp_c_string_literal): Make public.
11775         (pp_c_bool_literal): Likewise.
11776         (pp_c_integer_literal): Likewise.
11777         (pp_c_real_literal): Likewise.
11778
11779         * Makefile.in (C_PRETTY_PRINT_H): New variable.
11780         (c-pretty-print.o): Update dependence.
11781
11782 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
11783
11784         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
11785         ".set nomacro" state.
11786         (fix_truncsfsi2_macro): Likewise.
11787
11788 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
11789
11790         * tree.h (DID_INLINE_FUNC): Remove macro.
11791         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
11792         add tree check for FUNCTION_DECL.
11793         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
11794         (struct tree_decl): Rename inlined_function_flag to
11795         declared_inline_flag.
11796         * c-common.h (c_lang_decl): Remove.
11797         (DECL_ESTIMATED_INSNS): Remove.
11798         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
11799         (DECL_DECLARED_INLINE_P): Remove.
11800         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
11801         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
11802         (finish_function): Make uninlinable a bool.  Fixup call to
11803         tree_inlinable_function_p() and fix some code style issues.
11804         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
11805         * cgraph.c (dump_cgraph): Likewise.
11806         * cgraphunit.c (cgraph_decide_inlining): Likewise
11807         (cgraph_finalize_compilation_unit): Likewise.
11808         Also update call to tree_inlinable_function_p().
11809         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
11810         look at DECL_DECLARED_INLINE and reverse logic.
11811         * print-tree.c (print_node): Likewise.
11812         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
11813         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
11814         prototype.
11815         * tree-inline.c (inlinable_function_p): Split up in this function to
11816         check for basic inlining inhibiting conditions, and new
11817         limits_allow_inlining() function.  Warn if inlining is impossible
11818         because the inline candidate calls alloca or uses sjlj exceptions.
11819         (limits_allow_inlining): this new function to check if the inlining
11820         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
11821         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
11822         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
11823         Update prototypes.
11824         (tree_inlinable_function_p): Make a bool.  Update call to
11825         inlinable_function_p
11826         (expand_call_inline): Use limits_allow_inlining() when not in
11827         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
11828         instead see if the function was declared `inline'.
11829
11830 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
11831
11832         * gcse.c (try_replace_reg): Fix updating of note.
11833
11834 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11835
11836         PR middle-end/11771
11837         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
11838         logic in negate_expr, i.e. we don't invert (A-B) for floating
11839         point types unless flag_unsafe_math_optimizations.
11840
11841 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11842
11843         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
11844         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
11845         for floating point expressions with -ffast-math.
11846         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
11847         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
11848
11849 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11850
11851         * c-common.c (flag_noniso_default_format_attributes): Delete.
11852         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
11853         (c_attrs_initialized): Delete.
11854         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
11855         always call c_init_attributes.
11856         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
11857         set c_attrs_initialized when done.
11858         (c_common_insert_default_attributes): Delete.
11859         * c-common.h (flag_noniso_default_format_attributes): Delete.
11860         (c_coomon_insert_default_attributes): Delete prototype.
11861         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
11862         flag_noniso_default_format_attributes.
11863
11864         * c-decl.c (c_insert_default_attributes): Delete.
11865         * c-tree.h (c_insert_default_attributes): Delete prototype.
11866
11867         * attribs.c (decl_attributes): Don't call insert_default_attributes
11868         langhook.  Update function description comment.
11869         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
11870         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
11871         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
11872         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
11873
11874         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
11875         define.
11876
11877 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
11878
11879         * config/mips/mips.c (override_options): Disable -G on targets that
11880         have no .section support.
11881         (mips_select_section): Use default_select_section for such targets.
11882
11883 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
11884
11885         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
11886         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
11887         * fixinc/fixincl.x: Rebuild.
11888         * fixinc/tests/base/regexp.h: New test.
11889
11890 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
11891
11892         * c-ppoutput.c (cb_line_change): Don't skip line changing while
11893         parsing macro arguments in the top-level context.
11894
11895 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
11896
11897         * config.in: Remove HAVE_LSTAT.
11898         * configure, configure.in: Don't test for lstat.
11899
11900 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11901
11902         * opts.c (decode_options): Do language-specific initialization for
11903         the global diagnostic context.
11904         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
11905         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
11906         (LANG_HOOKS_INITIALIZER): Adjust.
11907         * langhooks.h (struct lang_hooks): Add new field
11908         initialize_diagnostics.
11909         * langhooks.c (lhd_initialize_diagnostics): Define.
11910
11911 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11912
11913         * pretty-print.h:   Adjust macro definitions.
11914         * pretty-print.c (pp_newline): Rename to pp_base_newline.
11915         (pp_character): Rename to pp_base_character.
11916         (pp_string): Rename to pp_base_string.
11917         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
11918         (pp_newline):  Likewise.  Adjust.
11919         (pp_c_char): Adjust.
11920
11921 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11922
11923         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11924         BUILT_IN_LLABS): Move to miscellaneous section.
11925
11926 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11927
11928         PR preprocessor/11534
11929         * cppexp.c (parse_defined): Warn only if -pedantic.
11930
11931 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11932
11933         * cppfiles.c (stack_file): Use file path.
11934
11935 2003-08-02  Roger Sayle  <roger@eyesopen.com>
11936
11937         * builtin-types.def (BT_SSIZE): New primitive type.
11938         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11939         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11940         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11941         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11942         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11943         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11944         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11945         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11946         few functions that define default attributes using it.
11947         * c-common.c (c_common_insert_default_attributes): Do nothing.
11948
11949         * doc/extend.texi: Document these "new" builtins.
11950
11951 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
11952
11953         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11954         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
11955         when -mieee-fp set and -shared not set.
11956         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11957
11958 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11959
11960         * cppfiles.c (struct _cpp_file): Rename once_only_next to
11961         next_file.  Remove import and pragma_once, add once_only.
11962         (find_file): Add new file structures to the all_files list.
11963         (should_stack_file): Mark #import-ed files once-only, and
11964         don't stack them if the file has already been stacked.
11965         (_cp_mark_file_once_only): Simplify.
11966         * cpphash.h (struct cpp_reader): Rename once_only_files
11967         to all_files.  Rename saw_pragma_once to seen_once_only.
11968         (_cpp_mark_file_once_only): Update prototype.
11969         * cpplib.c (do_pragma_once): Update.
11970
11971 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11972
11973         * cppfiles.c (ENOTDIR): Remove.
11974         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
11975         other than ENOENT here.
11976         (once_only_file_p): Rename should_stack_file.
11977         (find_file, open_file_failed, read_file_guts): Report errors
11978         with full path name.
11979         (read_file): Move pch handling to should_stack_file.
11980         (should_stack_file): Handle PCH and once-only issues, and
11981         reading the file.
11982         (stack_file): Don't do file reads.
11983
11984 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11985
11986         * libgcov.c (gcov_exit): Cleanup and fix.
11987         * profile.c (compute_value_histograms): Don't try to read profiles
11988         that are not present.
11989
11990 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11991
11992         * builtins.def: Categorize.
11993
11994         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11995         Mind fp rounding.
11996         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11997
11998 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
11999
12000         * config.gcc: Enable posix threads by default on darwin.
12001
12002 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
12003
12004         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
12005         even if nehedges1 is 0.
12006
12007 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
12008
12009         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
12010         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
12011         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
12012         and defintions.
12013
12014         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
12015         * fixinc/fixincl.x: Regenerate.
12016         * fixinc/tests/base/math.h: Regenerate to match test_text change.
12017
12018 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12019
12020         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
12021
12022 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12023
12024         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
12025         for accesses to exc_ptr.
12026
12027 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
12028
12029         * doc/sourcebuild.texi (Front End Directory): Don't make references
12030         to libsubdir, it's not part of the interface to frontends.
12031         * doc/install.texi (Configuration): Help users read faster by saying
12032         that GCC's configure options are the standard autoconf ones.
12033         Mention --libdir.  Update the default rules for finding the
12034         assembler.  Don't use libsubdir since we haven't said what it means.
12035         (Specific): In the Solaris 7 notes, update the place to put the
12036         assembler.
12037         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
12038         * doc/cpp.texi (Search Path): Actually, the search path
12039         depends on libdir, which can relocate with cpp.
12040         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
12041         now a private interface between the Makefile and the driver.
12042
12043 2003-08-01  Richard Henderson  <rth@redhat.com>
12044
12045         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
12046
12047         * varasm.c (lookup_constant_def): New function.
12048         * rtl.h (lookup_constant_def): Declare it.
12049         * dwarf2out.c (loc_descriptor_from_tree): Use it.
12050         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
12051
12052 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
12053
12054         * c-decl.c (gettags, pushdecl_function_level): Delete.
12055         (last_function_parm_vars): Rename last_function_parm_others.
12056         (current_function_parm_vars): Rename current_function_parm_others.
12057         (struct c_scope): Rewrite comment explaining this data structure.
12058         Add names_last, blocks_last, parms_last fields.  Rename
12059         incomplete_list to incomplete.
12060         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
12061         (poplevel): Ignore second argument.  No need to nreverse
12062         anything.  Restructure such that each list is processed
12063         exactly once.  Use 'const location_t *locus' syntactic sugar
12064         variable where useful.  Issue unused variable warnings
12065         ourselves, do not rely on function.c.
12066         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
12067         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
12068         (implicitly_declare): decl cannot be error_mark_node.
12069         (undeclared_variable): Manipulate scope structure directly.
12070         (c_make_fname_decl): Likewise.
12071         (getdecls, c_init_decl_processing): Fix comment.
12072         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
12073         for 'last' variable.
12074         (grokparms): No need to nreverse parms list.
12075         (store_parm_decls_newstyle): Set up the parms_last and
12076         names_last fields of the new scope too.
12077         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
12078         on parms to begin with; check this under ENABLE_CHECKING.  Set
12079         up parms_last.
12080         (check_for_loop_decls): Refer directly to current_scope->tags.
12081         Use consistent quote style in diagnostics.
12082         (c_write_global_declarations): The names list is not backward.
12083
12084         * c-common.h: Don't prototype gettags.
12085         * c-parse.in: Call poplevel with second argument 0 always.
12086
12087 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12088
12089         * builtins.def: Resort builtins.
12090
12091 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12092
12093         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
12094         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
12095         Prepend "__builtin_" onto NAME with string concatenation.  Remove
12096         explicit "__builtin_" from each macro call.
12097
12098         Reformat entire file.
12099
12100 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12101
12102         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
12103         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
12104
12105 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
12106
12107         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
12108         CCL1, or CCL2 modes with floating point operations.
12109
12110         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
12111         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
12112         "*subdf3_cconly"): New insns.
12113         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
12114
12115 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
12116
12117         * Makefile.in: Refine dependencies.
12118         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
12119         * c.opt: Update help for -Wimport.
12120         * cppfiles.c: Include hashtab.h.  Update comments.
12121         (stack_file): Read the file before updating dependencies.
12122         (once_only_file_p): Be smarter about marking once-only files.
12123         (_cpp_mark_file_once_only): Correct the check for existence on
12124         the list.
12125         (open_file_failed): Use name not path, which is NULL.
12126         * cpphash.h: Don't include hashtab.h.
12127         (struct _cpp_file): Remove.
12128         (struct cpp_reader): Update.
12129         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
12130         * cpplib.h (struct cpp_options): Remove warn_import.
12131         (cpp_simplify_path): Remove.
12132
12133 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
12134
12135         PR c++/11295
12136         * doc/extend.texi (Statement Expressions): Document C++ semantics.
12137
12138 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
12139
12140         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
12141
12142 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12143
12144         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
12145         throughout.
12146         * builtins.def: Likewise.
12147
12148 2003-07-31  Jason Merrill  <jason@redhat.com>
12149
12150         * Makefile.in (bubblestrap): Don't require a previous full
12151         bootstrap.
12152
12153         * expr.c (mostly_zeros_p): No longer static.
12154         * tree.h: Declare it.
12155         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
12156         unless we need to do substitutions.
12157
12158 2003-07-31  Roger Sayle  <roger@eyesopen.com>
12159
12160         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
12161         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
12162         as pow(x,2.0) when the latter will be expanded back into x*x.
12163         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
12164         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
12165         pow can never set errno when used with an integer exponent.
12166         Always use expand_powi when exponent is -1, 0, 1 or 2.
12167         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
12168         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
12169         the pow forms of these expressions.
12170
12171 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
12172
12173         * Makefile.in (libexecdir): New.
12174         (libsubdir): Use gcc instead of gcc-lib.
12175         (libexecsubdir): New.
12176         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
12177         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
12178         gcc-lib.
12179         (installdirs): Make libexecsubdir.
12180         (install-common): Put executables in libexecsubdir.
12181         (itoolsdir): Use libexecsubdir.
12182         (itoolsdatadir): New.
12183         (install-mkheaders): Separate data files and executables.
12184         (install-collect2): Put executables in libexecsubdir.
12185         (uninstall): Remove libexecsubdir.
12186         * mkheaders.in: Update for new arrangement of files.
12187         (libexecdir): New.
12188         (libexecsubdir): New.
12189         (itoolsdir): Use libexecsubdir.
12190         (itoolsdatadir): New.
12191         * gcc.c (gcc_libexec_prefix): New.
12192         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
12193         (standard_exec_prefix_1): Use libexec.
12194         (standard_exec_prefix_2): New.
12195         (standard_libexec_prefix): New.
12196         (process_command): Update for new arrangement of files.  Compute
12197         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
12198
12199 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
12200
12201         * inclhack.def (stdio_va_list): Avoid bogus replacement which
12202         triggers on Interix.
12203         * fixincl.x: Regenerate.
12204
12205 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
12206
12207         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
12208         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
12209
12210 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12211
12212         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
12213
12214 2003-07-31  Per Bothner  <pbothner@apple.com>
12215
12216         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
12217         (add_input_filename):  New function.
12218         (handle_options):  Call add_input_filename directly instead of
12219         with a lang hook.
12220         * opts.h (in_fnames, num_in_fnames):  Moved here.
12221         (add_input_filename):  Declare.
12222         * c-decl.c:  Need to #include opts.h.
12223         * Makefile.in (c-decl.o):  Also depends on opts.h.
12224         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
12225         (c_common_handle_filename):  Replaced by add_input_filename.
12226         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
12227         Remove.
12228         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
12229         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
12230         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
12231         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
12232
12233 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12234
12235         * combine.c (try_combine): Set JUMP_LABEL for newly created
12236         unconditional jump.
12237
12238 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12239
12240         * fold-const.c (fold): Fold some comparisons of bit operations.
12241
12242 2003-07-31  Jan Hubicka  <jh@suse.cz>
12243
12244         * cgraph.c (create_edge): Fix typo.
12245         * i386.c (pic_symbolic_operand): Reorder tests.
12246
12247 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
12248
12249         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
12250         more fully.
12251         (Gcov Data Files): Update.
12252
12253 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12254
12255         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
12256         default.
12257
12258         * gthr-posix.c: New file.
12259         * gthr-posix.h: Define _REENTRANT if missing.
12260         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
12261
12262         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
12263         by gthr-posix.o.
12264         * config/alpha/t-osf-pthread: New file.
12265
12266         * fixinc/inclhack.def (alpha_pthread): New fix.
12267         * fixinc/fixincl.x: Regenerate.
12268         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
12269
12270         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
12271         warning.
12272         Fixes PR bootstrap/9330.
12273
12274 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12275
12276         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
12277         without GNU ld.
12278         Update comment.
12279         * configure: Regenerate.
12280
12281 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
12282
12283         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
12284         setter.
12285
12286 2003-07-30  Roger Sayle  <roger@eyesopen.com>
12287
12288         * builtins.def: Alphabetize.
12289
12290 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
12291
12292         * doc/c-tree.texi: Normalize spellings of "lowercase" and
12293         "uppercase".
12294         * doc/cpp.texi: Likewise.
12295         * doc/md.texi: Likewise.
12296         * doc/rtl.texi: Likewise.
12297         * doc/tm.texi: Likewise.
12298
12299 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
12300
12301         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
12302         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
12303         of cc1obj.
12304
12305 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
12306
12307         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
12308         macros before defining them.
12309
12310 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
12311
12312         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
12313         UNSPECV_BLOCKAGE): New constants.
12314         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
12315         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
12316         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
12317         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
12318
12319         (all insns and expanders): Write output control string as brace block
12320         where appropriate.  Remove \-escapes for doublequote characters.
12321
12322 2003-07-31  Jan Hubicka  <jh@suse.cz>
12323
12324         * gcse.c (insert_store): Fix typo in previous patch.
12325
12326 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
12327
12328         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
12329
12330 2003-07-30  Andi Kleen  <ak@muc.de>
12331
12332         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
12333
12334 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12335
12336         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
12337         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
12338         GCOV_N_VALUE_COUNTERS): New.
12339         * profile.c (compute_value_histograms): New static function.
12340         (branch_prob): Read back the value histograms.
12341         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
12342         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
12343         * value-prof.c: Add comment on reading the profile.
12344         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
12345         * doc/invoke.texi (-fprofile-values): Document behavior with
12346         -fbranch-probabilities.
12347
12348 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
12349
12350         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
12351
12352 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
12353
12354         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
12355         symbolically.
12356
12357 2003-07-30  Jan Hubicka  <jh@suse.cz>
12358
12359         * gcse.c (insert_store): Ignore fake edges.
12360
12361         * c-common.c (flag_vtable_gc): Kill.
12362         * c-common.g (flag_vtable_gc): Kill.
12363         * c-opts (c_common_handle_option): Kill.
12364         * c.opt (fvtable-gc): Kill.
12365         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
12366         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
12367         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
12368
12369         * invoke.texi (-ftable-gc): Kill documentation.
12370
12371         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
12372         just because function body is missing.
12373
12374         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
12375
12376 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
12377
12378         * unwind-sjlj.c: Fix typo in file description.
12379
12380 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
12381
12382         * calls.c (load_register_parameters): When shifting reg sized values
12383         to the msb, move the value to a reg first.
12384
12385 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
12386
12387         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
12388         * line-map.h (linemap_add): Update comments.
12389         * line-map.c (linemap_add): Update comments, interpret zero-length
12390         filename as "<stdin>".
12391
12392 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
12393
12394         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
12395
12396 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
12397
12398         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
12399         New static variables.
12400         (struct c_scope): Add parms and warned_forward_parm_decls
12401         fields; remove parm_order.
12402         (storedecls, storetags): Delete.
12403         (poplevel): Also clear bindings on the parms chain.
12404         (pushdecl): Handle forward declarations of parameters, and
12405         chain PARM_DECLs on the parms list, not the names list.
12406         (lookup_name_current_level): Check for PARM_DECLs on the parms
12407         list too.
12408         (push_parm_decl): Don't update parm_order.
12409         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
12410         warning, only once per parameter list, and set TREE_ASM_WRITTEN
12411         on the decls here.  Then move the forward decls to the names list.
12412         (grokparms): Set last_function_parm_vars.
12413         (get_parm_info): Don't use gettags or getdecls.  No need to
12414         extract non-parms from the parms list, or reorganize the parms
12415         list.  Feed nonparms back in the TREE_TYPE of the list node
12416         returned.  Issue only one error per parameter list for "void"
12417         appearing more than once in said parameter list.  Collapse
12418         parmlist_tags_warning into this function to avoid double scan
12419         of tags list.
12420         (start_function): Set current_function_parm_vars.
12421         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
12422         directly.  Get non-parms from current_function_parm_vars; no
12423         need to extract them from the parms chain.  Properly bind tags
12424         in the new scope.
12425         (store_parm_decls_oldstyle): No need to extract non-parameters
12426         from the parms chain, nor to store them back afterward.  Move
12427         declaration to top of function, restructure code reordering
12428         DECL_ARGUMENTS.
12429         (store_parm_decls): No need to save and restore warn_shadow.
12430         * c-parse.in: Don't call parmlist_tags_warning nor
12431         clear_parm_order.  Call mark_forward_parm_decls when forward
12432         parm decls are encountered.
12433         * c-tree.h: Prototype mark_forward_parm_decls; not
12434         clear_parm_order or parmlist_tags_warning.
12435
12436 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
12437
12438         * c-common.c (allow_pch): Remove.
12439         * c-common.h (allow_pch): Remove.
12440         (c_common_no_more_pch): Declare.
12441         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
12442         * c-pch.c: Include hosthooks.h.
12443         (c_common_valid_pch): Don't check allow_pch.
12444         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
12445         (c_common_no_more_pch): New.
12446         * ggc-common.c: Include hosthooks.h.
12447         (gt_pch_save): Call gt_pch_get_address.
12448         (gt_pch_restore): Call gt_pch_use_address.
12449         * hooks.c (hook_voidp_size_t_null): New.
12450         (hook_bool_voidp_size_t_false): New.
12451         * hooks.h (hook_voidp_size_t_null): New.
12452         (hook_bool_voidp_size_t_false): New.
12453         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
12454         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
12455         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
12456         HOST_HOOKS_GT_PCH_USE_ADDRESS.
12457         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
12458         gt_pch_use_address.
12459         * doc/hostconfig.texi (Host Common): Document
12460         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
12461         * Makefile.in (c-pch.o): Depend on hosthooks.h.
12462         (ggc-common.o): Likewise.
12463
12464         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
12465         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
12466         (pch_address_space): New.
12467         (darwin_rs6000_gt_pch_get_address): New.
12468         (darwin_rs6000_gt_pch_use_address): New.
12469
12470 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
12471
12472         PR preprocessor/11569
12473         PR preprocessor/11649
12474         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
12475         * cppfiles.c: Completely rewritten.
12476         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
12477         struct cpp_path is now struct cpp_dir.
12478         (remove_duplicates): Don't simplify path names.
12479         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
12480         cpp_stack_file.
12481         * cpphash.h: Include hashtab.h.
12482         (_cpp_file): Declare.
12483         (struct cpp_buffer): struct include_file is now struct _cpp_file,
12484         and struct cpp_path is now struct cpp_dir.  Rename members.
12485         (struct cpp_reader): Similarly.  New members once_only_files,
12486         file_hash, file_hash_entries, quote_ignores_source_dir,
12487         no_search_path, saw_pragma_once.  Remove all_include_files and
12488         max_include_len.  Make some members bool.
12489         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
12490         (_cpp_stack_file): Renamed from _cpp_read_file.
12491         (_cpp_stack_include): Renamed from _cpp_execute_include.
12492         (_cpp_init_files): Renamed from _cpp_init_includes.
12493         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
12494         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
12495         (cpp_read_next_file): Rename and move to cppfiles.c.
12496         (cpp_read_main_file): Update.
12497         * cpplib.c (run_directive): Update for renamed members.
12498         (do_include_common, _cpp_pop_buffer): Update.
12499         (do_import): Undeprecate #import.
12500         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
12501         * cpplib.h: Remove file_name_map_list.
12502         (cpp_options): Remove map_list.
12503         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
12504         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
12505
12506 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
12507
12508         * Makefile.in:  Make stamp-objdir safe for parallel builds.
12509
12510 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
12511
12512         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
12513         (info):  Depend on stmp-docobjdir.
12514
12515 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12516
12517         * configure: Regenerate.
12518
12519 2003-07-29  Jan Hubicka  <jh@suse.cz>
12520
12521         PR C++/11131
12522         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
12523         in !unit-at-a-time mode.
12524
12525 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
12526
12527         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
12528         main function.
12529
12530 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
12531
12532         PR c++/11667
12533         * c-common.c (shorten_compare): Take into account differences
12534         between C and C++ representation for enumeration types.
12535         * tree.h (set_min_and_max_values_for_integral_type): Declare.
12536         * stor-layout.c (set_min_and_max_values_for_integral_type): New
12537         function, broken out from ...
12538         (fixup_signed_type): ... here and ...
12539         (fixup_unsigned_type): ... here.
12540
12541 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
12542
12543         * c-decl.c: Update commentary, adjust blank lines throughout.
12544         (struct c_scope): Fix indentation.  Reorder members so
12545         outer-context pointers come first, booleans last.
12546         (duplicate_decls, define_label): Use a 'locus' variable for
12547         diagnostic locations in a few more places.
12548         (warn_if_shadowing): Un-split a conditional that fits on one line.
12549         (c_init_decl_processing): No need to clear current_scope and
12550         current_function_scope.
12551         (start_decl): Merge if/else if statements with same action.
12552         (push_parm_decl): Rename old_immediate_size_expand to use
12553         save_foo convention; save/restore around entire function.
12554         (grokdeclarator): Remove unnecessary braces.
12555
12556 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
12557             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
12558
12559         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
12560         when warn_declaration_after_statement.  Call pedwarn_c90, not
12561         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
12562         * c-common.c (warn_declaration_after_statement): Define.
12563         * c-common.h (warn_declaration_after_statement): Declare.
12564         * c.opt (Wdeclaration-after-statement): New.
12565         * c-errors.c (pedwarn_c90): New function.
12566         * c-opts.c (c_common_handle_option) <case
12567         OPT_Wdeclaration_after_statement>: New.
12568         * c-tree.h (pedwarn_c90): Declare.
12569         * doc/invoke.texi (Option Summary): Document
12570         -Wdeclaration-after-statement.
12571         (Warning Options): Ditto.
12572
12573 2003-07-28  Jan Hubicka  <jh@suse.cz>
12574
12575         * i386.md (memory attribute) Avoid accessing uninitialized memory
12576         for ishift1 type instructions.
12577
12578 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
12579
12580         * configure.in (--enable-checking): Add fold category.
12581         (ENABLE_FOLD_CHECKING): Define if requested.
12582         * configure: Rebuilt.
12583         * config.in: Rebuilt.
12584         * doc/install.texi: Document it.
12585         * fold-const.c: Include md5.h.
12586         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
12587         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
12588         print_fold_checksum): New functions.
12589
12590         * fold-const.c (fold): Never modify argument passed to fold, instead
12591         change a copy and return it.
12592         * convert.c (convert_to_integer): Likewise.
12593
12594 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
12595
12596         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
12597         cleanup of junk after #else and #endif directives.  Collapse repeated
12598         clauses into for statment.
12599
12600         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
12601
12602 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
12603
12604         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
12605         (keep_next_if_subblocks): Rename next_is_function_body.
12606         (pushlevel): Adjust commentary.  Always set ->keep on the
12607         outermost level of a function.  Don't set ->keep_if_subblocks.
12608         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
12609         (store_parm_decls): Adjust to match.
12610         (finish_function): Adjust to match.
12611         Call poplevel with all three arguments zero.
12612
12613         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
12614         New functions split out of store_parm_decls.
12615         Avoid unnecessary work. Use local variables consistently.
12616         (store_parm_decls): Likewise.
12617
12618         (finish_function): No need to set functionbody flag on call to
12619         poplevel.
12620         (struct language_function): Remove scope field.
12621         (c_push_function_context, c_pop_function_context): No need to
12622         save and restore current_scope.
12623
12624 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
12625
12626         * doc/extend.texi (Deprecated Features): Implicit typename is
12627         gone. Default args on types is going.
12628
12629 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
12630
12631         * Makefile.in (ifcvt.o): Depend on target.h
12632         * ifcvt.c (target.h): Include.
12633         (if_convert): Don't call mark_loop_exit_edges if we can't
12634         modify jumps.
12635
12636 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12637
12638         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
12639
12640 2003-07-26  Richard Henderson  <rth@redhat.com>
12641
12642         PR inline-asm/11676
12643         * cse.c (count_reg_usage): Handle asm_operands properly.
12644
12645 2003-07-26  Roger Sayle  <roger@eyesopen.com>
12646
12647         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
12648         (DEF_EXT_FALLBACK_BUILTIN): Delete.
12649         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
12650         the regular DEF_EXT_LIB_BUILTIN macro.
12651         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
12652         the regular DEF_LIB_BUILTIN macro.
12653         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
12654         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
12655         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
12656         DEF_EXT_LIB_BUILTIN macro.
12657
12658         * c-decl.c (duplicate_decls): Remove code to handle builtin
12659         functions prototyped without an argument list.
12660
12661 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
12662
12663         * config/i386/winnt.c: Revert 2003-07-08 change.
12664         (i386_pe_section_type_flags): Remove error_with_decl here too.
12665
12666 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12667
12668         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
12669         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
12670         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
12671         (v850_handle_data_area_attribute): Likewise.
12672
12673 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
12674
12675         * varasm.c (output_constant_def_contents): Use
12676         ASM_DECLARE_CONSTANT_NAME if defined.
12677         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
12678         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
12679         objects get at least one byte to prevent assembler problems.
12680         (ASM_DECLARE_CONSTANT_NAME): New.
12681
12682         * Makefile.in (libbackend.o): Remove options_.h.
12683         (mostlyclean): Likewise.
12684
12685         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12686         insert a label at the end of an function under Mach-O.
12687
12688         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
12689
12690 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
12691
12692         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
12693         equality.
12694         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
12695
12696         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
12697
12698 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12699
12700         * doc/passes.texi (Passes): Mention pretty-printing and
12701         diagnostic files.
12702
12703 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
12704
12705         * doc/extend.texi (Function Attributes): GNU C++ does now allow
12706         unused parameter decls.
12707         (Attribute Syntax): GNU C++ does not allow label attributes to be
12708         after the ':'.
12709
12710 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12711
12712         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
12713         (objc_declare_class): Likewise.
12714         (error_with_ivar): Likewise.
12715         (start_class): Likewise.
12716         (warn_with_method): Likewise.
12717
12718 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12719
12720         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
12721         from GCC.
12722         * calls.c (try_to_integrate): Don't use xxx_with_decl.
12723         (expand_call): Likewise.
12724         * dwarfout.c (output_reg_number): Likewise.
12725         * expr.c (expand_expr): Likewise.
12726         * function.c (assign_temp): Likewise.
12727         (uninitialized_vars_warning): Likewise.
12728         (setjmp_args_warning): Likewise.
12729         (expand_function_end): Likewise.
12730         * stmt.c (fixup_gotos): Likewise.
12731         (warn_about_unused_variables): Likewise.
12732         (expand_end_bindings): Likewise.
12733         * stor-layout.c (layout_decl): Likewise.
12734         (place_field): Likewise.
12735         * toplev.c (check_global_declarations): Likewise.
12736         (rest_of_handle_inlining): Likewise.
12737         (default_tree_printer): New function.
12738         (general_init): Initialize diagnostic machinery before routing
12739         signals to the ICE machinery.  Set default tree printer.
12740         * toplev.h (pedwarn_with_decl): Remove declaration.
12741         (warning_with_decl): Likewise.
12742         (error_with_decl): Likewise.
12743         (pedwarn): Remove attribute for the time being.
12744         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
12745         * varasm.c (named_section): Likewise.
12746         (make_decl_rtl): Likewise.
12747         (assemble_variable): Likewise.
12748         (merge_weak): Likewise.
12749         (declare_weak): Likewise.
12750
12751         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
12752         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
12753         (format_with_decl): Remove.
12754         (diagnostic_for_decl): Likewise.
12755         (pedwarn_with_decl): Likewise.
12756         (warning_with_decl): Likewise.
12757         (error_with_decl): Likewise.
12758         (diagnostic_initialize): Adjust.
12759         (diagnostic_count_diagnostic): Likewise.
12760         (announce_function): Likewise.
12761         (lhd_print_error_function): Likewise.
12762         (diagnostic_report_current_module): Likewise.
12763         (default_diagnostic_starter): Likewise.
12764         (diagnostic_report_diagnostic): Likewise.
12765         (default_diagnostic_finalizer): Likewise.
12766         (verbatim): Likewise.
12767         (error): Likewise.
12768         (warning): Likewise.
12769         * opts.c (common_handle_option): Likewise.
12770         * pretty-print.c: New file.
12771         * c-pretty-print.h (pp_base): Override.
12772         * c-pretty-print.c: Adjust use of macros throughout.
12773         (pp_buffer): New macro.
12774         (pp_newline): Likewise.
12775         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
12776         * Makefile.in (DIAGNOSTIC_H): New variable.
12777         (c-errors.o): Use it.
12778         (c-objc-common.o): Likewise.
12779         (c-common.o): Likewise.
12780         (c-opts.o): Likewise.
12781         (c-format.o): Likewise.
12782         (diagnostic.o): Likewise.
12783         (opts.o): Likewise.
12784         (toplev.o): Likewise.
12785         (rtl-error.o): Likewise.
12786         (dwarf2out.o): Likewise.
12787         (jump.o): Likewise.
12788         (pretty-print.o): New rule.
12789
12790 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12791
12792         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
12793         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
12794         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
12795         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
12796         (DEF_FRONT_END_LIB_BUILTIN): Delete.
12797         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
12798         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
12799
12800         * builtins.c (build_string_literal): New function to construct
12801         a char* pointer to a string literal.
12802         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
12803         "rtx target" to be consistent with other expand_builtin_* functions.
12804         Change 3rd argument from "int unlocked" to "bool unlocked".
12805         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
12806         c-common.c to avoid front-end dependencies.  Optimize printf("")
12807         as a no-op when the result isn't required.  Handle embedded NULs
12808         in format string.
12809         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
12810         from c-common.c to avoid front-end dependencies.  Likewise, optimize
12811         fprintf(fp,"") as a no-op when the result isn't required, evaluating
12812         fp for side-effects.  Handle embedded NULs in format string.
12813         (expand_builtin_sprintf): Fix typo.
12814         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
12815         optimizing.  Adjust calls of expand_builtin_fputs to match the API
12816         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
12817         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
12818         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
12819
12820         * c-common.c (is_valid_printf_arglist): Delete.
12821         (c_expand_builtin): Delete.
12822         (c_expand_builtin_printf): Moved to builtins.c. Delete.
12823         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
12824         (c_expand_expr): No longer treat CALL_EXPRs specially.
12825         (CALLED_AS_BUILT_IN): Delete.
12826
12827 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12828
12829         PR optimization/11631
12830         * gcse.c (store_motion): Connect infinite loops to exit.
12831
12832 2003-07-24  Jason Merrill  <jason@redhat.com>
12833
12834         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
12835         (boolean_true_node, boolean_false_node): Likewise.
12836         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
12837         * tree.c (build_common_tree_nodes): Init boolean_type_node.
12838         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
12839         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
12840         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
12841         (truthvalue_true_node): Renamed from boolean_true_node.
12842         (truthvalue_false_node): Renamed from boolean_false_node.
12843         * c-decl.c: Just set truthvalue_* to integer_*.
12844         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
12845
12846 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12847
12848         * c-decl.c (match_builtin_function_types): New subroutine of
12849         duplicate_decls to test whether a redeclaration of a builtin
12850         function is suitably close, i.e. the return type and all of
12851         the argument types have the same modes as the builtin expects.
12852         (duplicate_decls): Fuzzy type matching for builtin functions
12853         moved to match_builtin_function_types.
12854
12855 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12856
12857         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
12858         flag correctly.
12859
12860 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
12861
12862         * c-decl.c: Search-and-replace change 'binding level' to
12863         'scope' in commentary.
12864         (struct binding_level): Now struct c_scope.
12865         (current_binding_level): Now current_scope.
12866         (free_binding_level): Now scope_freelist.
12867         (current_function_level): Now current_function_scope.
12868         (global_binding_level): Now global_scope.
12869         (make_binding_level): Now make_scope.
12870         (pop_binding_level): Now pop_scope.
12871
12872 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12873
12874         * configure.in (libgcc_visibility): Add missing whitespace.
12875
12876 2003-07-24  Richard Henderson  <rth@redhat.com>
12877
12878         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
12879         __gcc_personality_v0.
12880
12881 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12882
12883         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
12884
12885 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
12886
12887         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
12888         documentation missed from my 2003-07-09 patch.
12889
12890 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
12891
12892         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
12893         it's not provided.
12894         * configure: Rebuild.
12895
12896 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
12897
12898         PR c/10602
12899         * c-typeck.c (type_lists_compatible_p): Do not compare
12900         arguments if one of them is an error_mark_node
12901
12902 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
12903
12904         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
12905         if current_function_calls_eh_return.
12906
12907 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12908
12909         * doc/c-tree.texi (OFFSET_TYPE): Update description.
12910
12911 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
12912
12913         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
12914         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
12915         __umodsi3, __modsi3): Increase frame size to 32.
12916
12917 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
12918
12919         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
12920         prototype.
12921
12922 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12923
12924         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12925
12926         PR optimization/10679
12927         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12928
12929 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12930
12931         PR target/11607 and PR target/11516
12932         * pa.md (extzv, extv, insv): Revert latter half of last patch.
12933
12934 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
12935
12936         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12937         * varasam.c (output_constant): Likewise.
12938
12939 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12940
12941         * alias.c: Fix comment formatting.
12942         * c-common.c: Likewise.
12943         * c-decl.c: Likewise.
12944         * c-opts.c: Likewise.
12945         * combine.c: Likewise.
12946         * cpplib.c: Likewise.
12947         * diagnostic.c: Likewise.
12948         * dojump.c: Likewise.
12949         * final.c: Likewise.
12950         * fold-const.c: Likewise.
12951         * gcc.c: Likewise.
12952         * gcse.c: Likewise.
12953         * ggc-page.c: Likewise.
12954         * jump.c: Likewise.
12955         * loop.c: Likewise.
12956         * mips-tfile.c: Likewise.
12957         * recog.c: Likewise.
12958         * regclass.c: Likewise.
12959         * regmove.c: Likewise.
12960         * tree.c: Likewise.
12961         * tree.h: Likewise.
12962
12963 2003-07-22  Per Bothner  <pbothner@apple.com>
12964
12965         * line-map.c (add_line_map):  Handle invalid LEAVE request.
12966         Fixes PR preprocessor/11361.
12967
12968 2003-07-22  Per Bothner  <pbothner@apple.com>
12969
12970         * diagnostic.c.(diagnostic_report_current_module):  Update to match
12971         2003-06-05 changes to push_srcloc and pop_srcloc.
12972
12973 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
12974
12975         * doc/trouble.texi: Better document two-stage name lookup.
12976
12977 2003-07-22  Eric Christopher <echristo@redhat.com>
12978
12979         * config/s390.c (s390_valid_pointer_mode): New.
12980         (TARGET_VALID_POINTER_MODE): Use.
12981         (s390_emit_prologue): Add tpf profiling hooks.
12982         (s390_emit_epilogue): Ditto.
12983         * config/s390.h (MASK_TPF): New.
12984         (TARGET_TPF): Use.
12985         (POINTERS_EXTEND_UNSIGNED): Define.
12986         * config/s390.md (ptr_extend): New pattern.
12987
12988 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
12989
12990         * hashtable.c (approx_sqrt): Make static.
12991         * hashtable.h: Don't prototype approx_sqrt.
12992         * line-map.c (init_line_maps): Rename linemap_init.
12993         (free_line_maps): Rename linemap_free.
12994         (add_line_map): Rename linemap_add.
12995         (lookup_line): Rename linemap_lookup.
12996         (print_containing_files): Rename linemap_print_containing_files.
12997         * linemap.h: Update to match.
12998
12999         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
13000         linemap routines to use new names.
13001
13002 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
13003
13004         * c-common.c (handle_packed_attribute): Don't pack a struct via a
13005         typedef. Propagate packedness from a main variant.
13006
13007 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
13008
13009         * Makefile.in (install-common): Add dependency on installdirs.
13010
13011 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
13012
13013         * c-common.c (c_common_type_for_mode): Return integer types for
13014         pointer modes.
13015
13016 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
13017
13018         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
13019         (finish_decl): Call maybe_apply_pragma_weak here.
13020         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
13021         TREE_PUBLIC and TREE_STATIC are decided.
13022         (start_function): Move call to maybe_apply_pragma_weak.  Check that
13023         DECL_ASSEMBLER_NAME isn't set too early.
13024
13025         * cpplex.c (_cpp_process_line_notes): Mention option name in
13026         trigraphs warning.
13027
13028 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
13029
13030         * combine.c (if_then_else_cond): Simplify the comparison of
13031         rtx against -1, 0, and 1.
13032         * loop.c (check_dbra_loop): Likewise.
13033         * optabs.c (emit_conditional_move): Likewise.
13034         (emit_conditional_add): Likewise.
13035         * config/i386/i386.md (*movsi_or): Likewise.
13036         (*movdi_or_rex6): Likewise.
13037
13038 2003-07-22  Jan Hubicka  <jh@suse.cz>
13039
13040         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
13041
13042 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
13043
13044         * cppfiles.c (open_file_pch): Don't put unused entries in the
13045         splay tree.  Remove dead code.
13046
13047 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
13048
13049         * c-common.h (num_in_fnames): Declare.
13050         (c_static_assembler_name): Move from here...
13051         * c-tree.h (c_static_assembler_name): ... to here.
13052         * c-opts.c: Don't include langhooks-def.h.
13053         (c_static_assembler_name): Move to c-decl.c.
13054         (num_in_fnames): Make externally visible.
13055         * c-decl.c: Include langhooks-def.h.
13056         (c_static_assembler_name): Move from c-opts.c.
13057         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
13058         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
13059
13060         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
13061         when it's not needed.
13062
13063 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
13064
13065         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
13066         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
13067         (rs6000_emit_prologue): Save FPRs inline if set.
13068
13069 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
13070
13071         * config/ia64/ia64.md (prefetch): Support predicate.
13072
13073 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
13074
13075         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
13076         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
13077         table.
13078
13079 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
13080
13081         PR optimization/11536
13082         * unroll.c (loop_iterations): Do not replace a register holding
13083         the final value by its equivalent before the loop if it is not
13084         invariant.
13085
13086 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
13087
13088         * doc/extend.texi: Fixes to spelling, grammar, and diction.
13089
13090 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
13091
13092         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
13093         (V850 Options): Spelling fixes.
13094
13095 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
13096
13097         * doc/invoke.texi: Fixes to style, grammar and diction.
13098
13099 2003-07-20  Roger Sayle  <roger@eyesopen.com>
13100
13101         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
13102         * system.h (SMALL_STACK): Poison obsolete target macro.
13103         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
13104
13105 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
13106
13107         * configure.in:  Cache the results of testing for cmp's capabilities.
13108         * configure:  Regenerate.
13109
13110 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
13111
13112         PR debug/11279
13113         * dwarf2out.c (gen_enumeration_type_die): Remember that
13114         enumerators can be unsigned.
13115
13116 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
13117
13118         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
13119         (push_label_level, pop_label_level): Kill.
13120         (struct binding_level): Rename level_chain to outer.
13121         Add outer_function field.  Change parm_flag, function_body,
13122         keep, keep_if_subblocks to 1-bit bitfields of type bool.
13123         (current_function_level): New variable.
13124         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
13125         (keep_next_level, declare_parm_level, warn_if_shadowing):
13126         Update to match.
13127         (struct language_function): Kill named_labels, shadowed_labels fields.
13128         (c_init_decl_processing, start_function, c_push__function_context)
13129         (c_pop_function_context): No need to muck with named_labels nor
13130         shadowed_labels.
13131
13132         (make_binding_level): No need to clear the structure here.
13133         (pop_binding_level): Always operate on current_binding_level.
13134         Update current_function_level if necessary.
13135         (pushlevel): Don't clear named_labels.  Update current_function_level
13136         if necessary.  Use "true" and "false" where appropriate.
13137         (poplevel): Diagnose labels defined but not used, or vice
13138         versa, and clear out label-meanings leaving scope, while
13139         walking down the decls list, for all binding levels.
13140         Handle LABEL_DECLs appearing in the shadowed list.
13141         pop_binding_level takes no arguments.
13142         (pushdecl_function_level): Use current_function_level.
13143
13144         (make_label, bind_label): New static functions.
13145         (declare_label): New exported function.
13146         (lookup_label, define_label): Rewritten for new data structure.
13147         (shadow_label): Kill.
13148
13149         * c-tree.h: Prototype declare_label; don't prototype
13150         push_label_level, pop_label_level, nor shadow_label.
13151         * c-parse.in: Remove all calls to push_label_level and
13152         pop_label_level.  Use declare_label for __label__ decls.
13153
13154         * doc/extend.texi: Clarify that __label__ can be used to
13155         declare labels with local scope in any nested block, not
13156         just statement expressions.  Cross-reference nested functions
13157         section from local labels section.
13158
13159 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13160
13161         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
13162
13163 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
13164
13165         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
13166
13167 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13168
13169         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
13170         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
13171
13172 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
13173
13174         * config/s390/s390.c (legitimize_pic_address): Access local symbols
13175         relative to the GOT instead of relative to the literal pool base.
13176         (s390_output_symbolic_const): Handle new GOT-relative accesses.
13177         * config/s390/s390.md ("call"): Access local functions and PLT stubs
13178         relative to the GOT instead of relative to the literal pool base.
13179         ("call_value"): Likewise.
13180         ("call_value_tls"): Likewise.
13181
13182         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
13183         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
13184         (s390_chunkify_finish): Likewise.
13185         (s390_chunkify_cancel): Likewise.
13186         (s390_reorg): Adapt caller.
13187         (find_base_register_in_addr,
13188         find_base_register_ref, replace_base_register_ref): Delete.
13189         (find_ltrel_base, replace_ltrel_base): New functions.
13190         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
13191         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
13192         base vs. index register usage.
13193         (struct constant_pool): Remove 'anchor'.
13194         (s390_add_anchor): Delete.
13195         (s390_dump_pool): Remove anchor handling.
13196         * config/s390/s390.md ("reload_anchor"): Remove.
13197
13198         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
13199         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
13200         (s390_emit_prologue): Use it.
13201         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
13202         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
13203         hard-code register 14.
13204         * config/s390/s390-protos.h (s390_load_got): Declare.
13205
13206         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
13207         Support TImode constants.
13208         * config/s390/s390.md ("consttable_ti"): New.
13209         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
13210
13211         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
13212         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
13213         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
13214         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
13215         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
13216         New symbolic constants.
13217         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
13218         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
13219         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
13220         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
13221         symbolic UNSPEC values.
13222         * config/s390/s390.c (larl_operand, s390_short_displacement,
13223         bras_sym_operand, s390_cannot_force_const_mem,
13224         s390_delegitimize_address, s390_decompose_address,
13225         legitimize_pic_address, s390_output_symbolic_const,
13226         s390_function_profiler): Use symbolic UNSPEC values.
13227
13228 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13229
13230         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
13231         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
13232         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
13233         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
13234         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
13235         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
13236         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
13237         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
13238         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
13239         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
13240         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
13241         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
13242         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
13243         postreload.c prefix.c print-tree.c protoize.c ra-build.c
13244         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
13245         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
13246         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
13247         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
13248         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
13249         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
13250         casts.
13251
13252 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13253
13254         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
13255         * toplev.h (warning): Remove attribute.
13256
13257 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13258
13259         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
13260         (pop_label_level): Likewise.
13261         (duplicate_decls): Likewise.
13262         (implicitly_declare): Likewise.
13263         (shadow_label): Likewise.
13264         (start_decl): Likewise.
13265         (finish_decl): Likewise.
13266         (grokdeclarator): Likewise.
13267         (get_parm_info): Likewise.
13268         (detect_field_duplicates): Likewise.
13269         (finish_struct): Likewise.
13270         (start_function): Likewise.
13271         (store_parm_decls): Likewise.
13272         (finish_function): Likewise.
13273         (c_expand_body_1): Likewise.
13274         (check_for_loop_decls): Likewise.
13275         (merge_translation_unit_decls): Likewise.
13276
13277 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
13278
13279         * common.opt:  Document --param.
13280         * opts.c (columns, undocumented_msg): New.
13281         (print_help): Get number of columns from environment.  Print
13282         --param help.  Tweak newline handling.
13283         (print_param_help): New.
13284         (print_filtered_help): Better handling of duplicates.  Complain
13285         about undocumented switches.
13286         (print_switch): New.
13287         (wrap_help): Improve wrapping, use COLUMNS.
13288         * opts.sh: Ignore comments in records.
13289         * params.def: Fix typos and remove trailing periods.
13290         * toplev.c (display_help): Don't dump --param help.
13291         * doc/sourcebuild.texi: Update.
13292
13293 2003-07-18  Richard Henderson  <rth@redhat.com>
13294
13295         PR target/11556
13296         * optabs.c (prepare_operand): Fail gracefully instead of abort
13297         if the predicate doesn't satisfy.
13298         (gen_cond_trap): Allow prepare_operand to fail.
13299
13300 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13301
13302         * c-common.c: Don't undefine GCC_DIAG_STYLE.
13303         (fname_decl): Don't use xxx_with_decl.
13304         (c_add_case_label): Likewise.
13305         (handle_section_attribute): Likewise.
13306         (handle_alias_attribute): Likewise.
13307         (handle_no_instrument_function_attribute): Likewise.
13308         (handle_no_limit_stack_attribute): Likewise.
13309         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
13310         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
13311
13312 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13313
13314         * Makefile.in (ifcvt.o): Add cfgloop.h.
13315         * basic-block.h (EDGE_LOOP_EXIT): New flag.
13316         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
13317         * ifcvt.c: Include cfgloop.h.
13318         (mark_loop_exit_edges): New static function.
13319         (if_convert): Call it.
13320         (find_if_header): Ignore branches out of loops.
13321
13322 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
13323
13324         * combine.c (simplify_comparison): Don't share rtx when converting
13325         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
13326
13327 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
13328
13329         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
13330         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13331         (MUST_PASS_IN_STACK): Define.
13332         (BLOCK_REG_PADDING): Define.
13333
13334 2003-07-18  Richard Henderson  <rth@redhat.com>
13335
13336         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
13337         to skip the addr_vec.
13338
13339 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
13340
13341         * combine.c (combinable_i3pat): Don't forbid occurrences of
13342         i2dest or i1dest in inner_dest if inner_dest is a mem.
13343
13344 2003-07-18  Jan Hubicka  <jh@suse.cz>
13345
13346         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
13347
13348 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
13349
13350         PR target/11087
13351         * loop.c (basic_induction_var): Check if convert_modes emitted any
13352         instructions. Remove them and return 0 if so.
13353
13354 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
13355
13356         PR optimization/11083
13357         * toplev.c (rest_of_handle_addresof): Rename into
13358         rest_of_handle_addressof.  Delete unreachable blocks
13359         if dead edges were purged after the addressof pass.
13360
13361 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
13362
13363         * Makefile.in, configure, configure.in: Remove handling of
13364         lang-options.h and options_.h.
13365         * toplev.c (struct lang_opt, documented_lang_options): Remove.
13366         (display_help): Don't use documented_lang_options.
13367
13368 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
13369
13370         * c-decl.c (pushdecl_function_level): Make static, return nothing.
13371         (kept_level_p): Fold into poplevel.
13372         (undeclared_variable): Moved here from c-typeck.c.  Export.
13373         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
13374         (undeclared_variable): Prototype here.  Don't prototype
13375         kept_level_p nor pushdecl_function_level.
13376         * c-parse.in: Change first argument to poplevel from
13377         "kept_level_p()" to "KEEP_MAYBE".
13378         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
13379
13380 2003-07-17  Roger Sayle  <roger@eyesopen.com>
13381
13382         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
13383         commutative operands instead of modifying the RTL in-place.
13384
13385 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
13386
13387         PR optimization/11557
13388         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
13389         unless we know which function is being called.
13390
13391 2003-07-17  Roger Sayle  <roger@eyesopen.com>
13392
13393         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
13394         whether to reorder the operands of a commutative binary operator.
13395
13396 2003-07-17  Roger Sayle  <roger@eyesopen.com>
13397
13398         * fold-const.c (const_binop): Avoid performing the FP operation at
13399         compile-time, if either operand is NaN and we honor signaling NaNs,
13400         or if we're dividing by zero and either flag_trapping_math is set
13401         or the desired mode doesn't support infinities.
13402         (fold_initializer): New function to fold an expression ignoring any
13403         potential run-time exceptions or traps.
13404         * tree.h (fold_initializer): Prototype here.
13405         * c-typeck.c (build_binary_op): Move to the end of the file so
13406         that intializer_stack is in scope.  If constructing an initializer,
13407         i.e. when initializer_stack is not NULL, use fold_initializer to
13408         fold expressions.
13409         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
13410         performing FP operations at compile-time, if they would raise an
13411         exception at run-time.
13412
13413 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
13414
13415         PR 11498
13416         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
13417         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
13418         (GTFILES): Add langhooks.c.
13419         (gt-langhooks.h): New.
13420         * c-common.h (c_static_assembler_name): Prototype.
13421         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
13422         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
13423         * c-opts.c: Include langhooks-def.h.
13424         (c_static_assembler_name): New.
13425         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
13426         (var_labelno): New.
13427         (lhd_set_decl_assembler_name): Give static objects with context
13428         unique names.
13429         * varasm.c (var_labelno): Delete.
13430         (make_decl_rtl): Don't change the assembler name once it's set.
13431
13432         * c-opts.c (this_input_filename): New.
13433         (finish_options): Take new parameter, name of file being compiled.
13434         Update callers.  Set this_input_filename.
13435         (push_command_line_include): Use this_input_filename not
13436         main_input_filename.
13437
13438 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
13439
13440         * Makefile.in: Depend .pot generation on options.c.
13441         * po/exgettext: Add an extra_files variable containing additional
13442         files to scan.
13443
13444 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
13445
13446         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
13447         c_write_global_declarations.
13448
13449         * c-decl.c: Fix typos in several comments.  Remove all
13450         #if 0 blocks; reindent as needed.  Remove unused argument
13451         to declare_parm_level; all callers changed.
13452         * c-parse.in: Update calls to declare_parm_level.  Avoid
13453         issuing a double warning in some circumstances.
13454         * c-typeck.c: Update calls to declare_parm_level.
13455         * c-tree.h: Update prototype of declare_parm_level.
13456
13457         * c-pragma.c (apply_pragma_weak): Don't complain about a
13458         redundant #pragma weak.
13459
13460         * objc/objc-act.c (forward_declare_categories,
13461         build_selector_reference_decl, build_class_reference_decl,
13462         build_objc_string_decl, synth_forward_declarations,
13463         build_protocol_reference): Set TREE_PUBLIC on synthetic
13464         forward decl to 0, consistent with eventual definition.
13465         Correct comments to match.
13466
13467         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
13468         in regexp that don't form a range expression.
13469         * fixinc/fixincl.def: Regenerate.
13470
13471 2003-07-17  Richard Henderson  <rth@redhat.com>
13472
13473         PR target/10907
13474         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
13475         even with !TARGET_CONST_GP.
13476         (ia64_function_ok_for_sibcall): Reject non-local functions.
13477
13478 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
13479
13480         * c-common.c (c_estimate_num_insns_1): Don't handle
13481         METHOD_CALL_EXPR.
13482         * expr.c (safe_from_p): Likewise.
13483         * gengtype.c (adjust_field_tree_exp): Likewise.
13484         * stmt.c (warn_if_unused_value): Likewise
13485         * tree.c (first_rtl_op): Likewise.
13486         * tree.def: Don't define METHOD_CALL_EXPR.
13487         * java/lang.c (java_estimate_num_insns_1): Don't handle
13488         METHOD_CALL_EXPR.
13489
13490 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
13491
13492         PR other/11466
13493         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
13494         and its restrictions for the SPARC64 port.
13495         Move the entry of "-mimpure-text" before that of "-mv8".
13496
13497 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
13498             Phil Edwards <phil@jaj.com>
13499
13500         * doc/install.texi (*-*-solaris2*): Document the step-by-step
13501         procedure to bootstrap and install.
13502         Document the preference for the legacy Sun tools in /usr/bin
13503         over the POSIX tools in /usr/xpg4/bin for the build process.
13504
13505 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
13506
13507         * c.opt: Document Uncodumented; use it.  Document ObjC options.
13508         * opts.c (print_filtered_help): Skip undocumented switches.
13509         * opts.h (CL_UNDOCUMENTED): New.
13510         * opts.sh: Handle Undocumented.
13511         * toplev.c (documented_lang_options): Prevent its becoming empty.
13512 objc:
13513         * lang-options.h: Remove.
13514
13515 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
13516
13517         * loop.c (check_ext_dependent_givs): Pass const struct loop *
13518         instead of struct loop_info * as argument.  Accept BIVs with
13519         increment +/- 1 provided there is a friendly exit test against
13520         a loop-invariant value.
13521         (strength_reduce): Adapt call to check_ext_dependent_givs.
13522
13523 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
13524             Con Bradley <con.bradley@superh.com>
13525
13526         * sh-protos.h (sh_get_pr_initial_val): Declare.
13527         * sh.c (regno_reg_class): Make its elements type enum reg_class.
13528         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
13529         and live_regs_mask arguments.  Changed all callers.
13530         (save_schedule_s): New structure.
13531         (save_schedule): New typedef.
13532         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
13533         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
13534         In interrupts handlers, also save registers that are usually
13535         partially saved, and make sure there is at least one general purpose
13536         register saved if a target register needs saving.
13537         Add casts in comparisons to avoid warnings.
13538         (sh_media_register_for_return): return -1 for interrupt handlers.
13539         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
13540         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
13541         registers used are available.
13542         Set RTX_FRAME_RELATED_P where appropriate.
13543         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
13544         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
13545         (initial_elimination_offset): Likewise.
13546         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
13547         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
13548         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
13549         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
13550         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
13551         and for target registers.
13552         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
13553         (regno_reg_class): Make its elements type enum reg_class.
13554         (CONSTRAINT_LEN): Don't use isdigit.
13555         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
13556         (FUNCTION_ARG): Add parentheses to avoid warnings.
13557         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
13558         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
13559         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
13560         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
13561         * sh.md (xordi3+1): Remove unused variable regno.
13562         (return_media): Check that tr0 is available before using it.
13563
13564 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
13565
13566         * c.opt: Document more options.
13567
13568 2003-07-16  Roger Sayle  <roger@eyesopen.com>
13569
13570         * combine.c (subst): Also handle (subreg (const_double ...)) case
13571         if created by a substitution, by using the original inner mode.
13572
13573 2003-07-16  Roger Sayle  <roger@eyesopen.com>
13574
13575         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
13576         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
13577         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
13578
13579 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
13580
13581         * doc/install.texi (--without-headers): New.
13582
13583         Partial Fix PR/10129
13584         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
13585         (machopic_output_function_base_name): New; print the true pic label.
13586         (machopic_classify_ident): Pic Base is always a defined data.
13587         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
13588         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
13589
13590         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
13591         if they are not floating point registers.
13592
13593         PR c/10962
13594         * ggc.h: Add header guards.
13595         * c-decl.c (finish_struct): Sort fields if
13596         number greater than 15 and there are no
13597         anonymous structs/unions.
13598         * c-common.h: Include ggc.h.
13599         (sorted_fields_type): New struct.
13600         (field_decl_cmp): New prototype.
13601         (resort_sorted_fields): New prototype.
13602         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
13603         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
13604         as s, removing other fields.
13605         * c-typeck.c (lookup_field): Use s in lang_type.
13606         These were mostly moved from cp/class.c:
13607         * c-common.c (field_decl_cmp): New static function.
13608         (field_decl_cmp): New function.
13609         (resort_sorted_fields): New function.
13610
13611 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
13612
13613         * config/darwin.c (machopic_select_section): Use decl_readonly_section
13614         to do most of the work.
13615
13616 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
13617
13618         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
13619         * config/mmix/mmix.c: Convert functions to ISO C90.
13620         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
13621         formatting.
13622         (mmix_get_hard_reg_initial_val): Tweak section head comment.
13623
13624 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
13625
13626         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
13627
13628 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
13629
13630         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
13631         (uw_update_context_1): Use it.
13632         * config/rs6000/rs6000.c (insn_after_throw): Remove.
13633         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
13634         in parent frame if _Unwind_* called directly instead of through
13635         .plt.
13636         (rs6000_emit_eh_toc_restore): Remove.
13637         (rs6000_emit_prologue): Update stack pointer before doing any saving
13638         if current_function_calls_eh_return.  Generate unwind info for $r2.
13639         (rs6000_emit_epilogue): Restore stack pointer after doing all
13640         restoring if current_function_calls_eh_return.  Restore $r2.
13641         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
13642         * config/rs6000/rs6000.md (eh_return): Remove call to
13643         rs6000_emit_eh_toc_restore.
13644         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
13645         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
13646
13647 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
13648
13649         * expr.c (emit_block_move): Don't move anything if size is const 0.
13650         (clear_storage): Test against const0_rtx instead of comparing INTVAL
13651         against 0.
13652
13653 2003-07-15  David S. Miller  <davem@redhat.com>
13654
13655         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
13656         emit nop if the last real insn is CALL_INSN.
13657
13658 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13659
13660         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
13661         as "nul".
13662         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
13663
13664 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13665
13666         * config/i386/winnt.c (associated_type): Artificial methods are not
13667         affected by the import/export status of their class unless they are
13668         COMDAT.
13669         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
13670
13671         * config/i386/winnt.c: Fix GCC copyright comment.
13672
13673 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
13674
13675         PR c++/11531
13676         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
13677         not recursing on hard error.
13678         (diagnostic_for_decl): Likewise.
13679         * diagnostic.def: Rearrange.
13680
13681 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13682
13683         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13684         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
13685
13686 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13687             Richard Henderson  <rth@redhat.com>
13688
13689         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
13690         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
13691         (_Unwind_SetGR): Likewise.
13692         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13693         (Unwind_SpTmp): New typedef.
13694         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
13695         (uw_update_context): Use _Unwind_GetPtr.
13696         (init_dwarf_reg_size_table): Move above uw_init_context_1.
13697         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
13698         Use _Unwind_SetSpColumn.
13699         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
13700         Use _Unwind_GetPtr.
13701
13702 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13703
13704         * c.opt: Document more options.
13705         * toplev.c (documented_lang_options): Remove all local help strings.
13706
13707 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
13708
13709         PR debug/11473
13710         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
13711         base classes.
13712
13713 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13714
13715         PR target/10795
13716         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
13717         swap comparison operands if doing so would generate an
13718         unrecognizable insn.
13719
13720 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
13721
13722         PR optimization/11320
13723         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
13724         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
13725         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
13726         current_sched_info->compute_jump_reg_dependencies. Record which
13727         registers are used and which registers are set by the jump.
13728         Clear deps->reg_conditional_sets after a barrier.
13729         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
13730         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
13731         (init_deps): Initialize reg_conditional_sets.
13732         (free_deps): Clear reg_conditional_sets.
13733         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
13734         Mark registers live on entry of the fallthrough block and conditionally
13735         set as set by the jump. Mark registers live on entry of non-fallthrough
13736         blocks as used by the jump.
13737         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
13738         Mark new parameters as unused.
13739
13740 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13741
13742         * doc/invoke.texi: Resync MIPS -march documentation.
13743
13744 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13745
13746         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
13747         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
13748         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
13749         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
13750         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
13751         (mips_issue_rate): Handle PROCESSOR_R9000.
13752         (mips_use_dfa_pipeline_interface): Likewise.
13753         * config/mips/9000.md: New file.
13754         * config/mips/mips.md: Include it.
13755         (define_attr cpu): Add r9000.
13756         (mulsi3_mult3): Use "mul" for rm9000 code.
13757
13758 2003-07-15  Stan Cox  <scox@redhat.com>
13759
13760         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
13761         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
13762         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
13763         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
13764         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
13765         (mips_issue_rate): Handle PROCESSOR_R7000.
13766         (mips_use_dfa_pipeline_interface): Likewise.
13767         * config/mips/7000.md: New file.
13768         * config/mips/mips.md: Include it.
13769         (define_attr cpu): Add r7000.
13770         (mulsi3_mult3): Use "mul" for rm7000 code.
13771
13772 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13773
13774         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
13775         the conditional move patterns.
13776         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
13777         Check for condmove type.
13778         (ir_vr54_arith): Add move type.
13779         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
13780         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
13781
13782 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13783
13784         * c-opts.c (print_help): Remove.
13785         (c_common_handle_option): Don't handle --help.
13786         * c.opt: Document some options.
13787         (--help): Remove.
13788         * opts.c (print_filtered_help): New.
13789         (print_help): Use it.
13790
13791 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13792
13793         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
13794         * tree.c: (build_common_tree_nodes_2): Likewise.
13795         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
13796         (V4DF_type_node): New.
13797
13798         * c-opts.c (push_command_line_include): Don't free deferred_opts,
13799         we'll need it.
13800         (finish_options): Reset init_cursor.
13801
13802 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13803
13804         * expr.c (expand_assignment): Remove an unused argument
13805         SUGGEST_REG.
13806         * expr.h: Update the prototype.
13807         * function.c: Update the callers.
13808         * stmt.c: Likewise.
13809
13810 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
13811
13812         PR debug/11098
13813         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
13814         as DECL_ABSTRACT.
13815
13816 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13817
13818         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
13819         with __cplusplus, not "we must use the C++ compiler's type"
13820         * fixinc/inclhack.def (void_null): Note that Interix needs this.
13821         * fixinc/fixincl.x: Regenerate.
13822
13823 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13824
13825         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
13826         and unseen_objects from the global data before calling
13827         __deregister_frame_info_bases.
13828         (examine_objects): Insert objects into the seen_objects list,
13829         not unseen_objects.
13830         (_Unwind_Find_FDE): Always unlock the global object lists, even if
13831         we couldn't allocate a data structure to put in it.
13832
13833         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
13834         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
13835         (SET_TYPE_PROTOCOL_LIST): New.
13836         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
13837         (get_object_reference): Likewise.
13838
13839 2003-07-14  Jan Hubicka  <jh@suse.cz>
13840
13841         * cfglayout.c (locator_file): Break out from ....
13842         (insn_file): ... here.
13843         (locator_line): Break out from ....
13844         (insn_line): ... here.
13845         * rtl.h (locator_file, locator_line): Declare.
13846         (final_start_function): Set proper line/file info.
13847
13848 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13849
13850         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
13851         handled by pp_c_cast_expression.
13852
13853 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13854
13855         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
13856         allocate 32768 bytes of stack.  Use addition rather than subtraction
13857         when a single insn is enough.
13858         * config/mips/mips.md: Remove insns and splitters for subtracting
13859         constants.
13860         (subsi3): Only accept register operands.
13861         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
13862         (subdi3_internal_3, subsi3_internal_2): Likewise.
13863         (casesi): Use expand_binop to subtract the lower bound.
13864
13865 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13866
13867         * config/mips/mips.c (mips_in_small_data_p): Don't handle
13868         TARGET_MIPS16 specially.
13869
13870 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13871
13872         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
13873         mips_output_aligned_bss.
13874         * config/mips/linux.h: Likewise.
13875         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
13876         * config/mips/mips.c (mips_output_aligned_bss): New function.
13877
13878         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
13879         * config/mips/elf64.h: Likewise.
13880
13881         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
13882         mips_declare_object_name.
13883         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
13884         * config/mips/elf64.h: As for elf.h.
13885         * config/mips/iris6.h: Likewise.
13886         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
13887         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
13888         do...while (0) block.
13889         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
13890         (mips_finish_declare_object): Declare.
13891         * config/mips/mips.c (mips_declare_object_name): New function.
13892         (mips_finish_declare_object): New function.
13893
13894         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
13895         * config/mips/linux.h: Likewise.
13896
13897         * config/mips/mips.c (inside_function): Delete.
13898         (file_in_function_warning, ignore_line_number): Delete.
13899         (mips_output_filename): Don't warn about changing filenames within
13900         a function.
13901         (mips_output_lineno): Update accordingly.
13902         (mips_output_function_prologue): Don't reset the deleted variables.
13903         * config/mips/mips.h (inside_function): Delete.
13904         (file_in_function_warning, ignore_line_number): Delete.
13905
13906         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
13907         * config/mips/elf64.h: Likewise.
13908         * config/mips/openbsd.h: Likewise.
13909         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
13910         * config/mips/linux.h: Likewise.
13911         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
13912         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
13913
13914         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
13915         to the list of include files when using gas.
13916         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
13917         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
13918         * config/mips/elf64.h: Likewise.
13919         * config/mips/iris5.h: Likewise.
13920         * config/mips/linux.h: Likewise.
13921         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13922         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13923         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13924         * config/mips/sdb.h: ...this new file.
13925
13926 2003-07-14  Douglas Rupp  <rupp@gnat.com>
13927
13928         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13929         argument to getcwd; use fixed buffer instead.
13930
13931 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13932
13933         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13934         * fixinc/fixinc.wrap: Delete.
13935
13936 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13937
13938         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13939         don't have 2.
13940
13941 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13942
13943         * ggc-page.c (struct globals): Add new fields to keep track of the
13944         total allocated memory and overhead.
13945         (ggc_print_statistics): Print them.
13946         (ggc_alloc): Keep track of the total allocated memory and the
13947         overhead.
13948
13949         * tree.c (dump_tree_statistics): Increase spacing.
13950         (enum tree_node_kind): Move to ...
13951         * tree.h (enum tree_node_kind): ... here.
13952         (tree_node_counts, tree_node_sizes): Declare.
13953
13954 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
13955
13956         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13957
13958 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13959
13960         PR optimization/11440
13961         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13962         SIGN_EXTRACT SETs.
13963
13964 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
13965
13966         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13967         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13968         (emit_group_load, emit_group_store): Adjust declarations.
13969         Remove most occurrences of #ifdef TREE_CODE.
13970         * expr.c (emit_group_load): Add "type" param, and use
13971         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
13972         aligned accesses if !SLOW_UNALIGNED_ACCESS.
13973         (emit_group_store): Likewise.
13974         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13975         emit_group_load and emit_group_store calls.
13976         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
13977         BLOCK_REG_PADDING to determine whether we need endian_correction.
13978         (load_register_parameters): Localize vars.  Handle shifting of
13979         small values to the correct end of regs.  Adjust emit_group_load
13980         call.
13981         (expand_call, emit_library_call_value_1): Adjust emit_group_load
13982         and emit_group_store calls.
13983         * function.c (assign_parms): Set mem alignment for stack slots.
13984         Adjust emit_group_store call.  Store values at the "wrong" end
13985         of regs to the stack.  Use BLOCK_REG_PADDING.
13986         (locate_and_pad_parm): Save where_pad.
13987         (expand_function_end): Adjust emit_group_load call.
13988         * stmt.c (expand_value_return): Adjust emit_group_load call.
13989         * Makefile.in (calls.o): Depend on $(OPTABS_H).
13990         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13991         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13992         (MUST_PASS_IN_STACK): Define.
13993         (BLOCK_REG_PADDING): Define.
13994         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13995         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13996         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13997         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13998         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13999
14000 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
14001
14002         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
14003
14004 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14005
14006         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
14007         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
14008
14009 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
14010
14011         PR other/11123
14012         * toplev.c: Don't cut off option names.
14013
14014 2003-07-13  Andreas Jaeger  <aj@suse.de>
14015
14016         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
14017         to integer of different size.
14018
14019 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
14020
14021         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
14022         to (eq (and X 1) 0).
14023
14024 2003-07-13  Andreas Jaeger  <aj@suse.de>
14025
14026         * config.gcc: Add pmmintrin.h for x86_64-*-*.
14027
14028 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
14029
14030         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
14031         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
14032         list.  Move these all together down by cpplib.
14033
14034         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
14035         definition of CPPCHAR_SIGNED_T.
14036
14037         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
14038         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
14039         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
14040
14041         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
14042         * cppinit.c (cpp_create_reader): Likewise.
14043
14044         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
14045         * cpptrad.c: Likewise.  All callers changed.
14046         * cpplib.c: All callers changed.
14047         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
14048         * hashtable.h: Define GTY(x) to nothing here too.
14049
14050 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14051
14052         * stor-layout.c (compute_record_mode): Remove very obsolete test
14053         that forces BLKmode for records with fields crossing word boundary.
14054
14055 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
14056
14057         * Makefile.in: Remove orphan reference to acconfig.h.
14058
14059 2003-07-13  Andreas Jaeger  <aj@suse.de>
14060
14061         * cgraphunit.c: Convert prototypes to ISO C90.
14062
14063 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
14064
14065         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
14066         (for OpenBSD).
14067         * fixinc/fixincl.x: Rebuild.
14068
14069 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
14070
14071         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
14072         i?86-*-*.  Use correct name of cache variable.
14073         * configure: Regenerate.
14074
14075 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
14076
14077         * config/alpha/alpha.c: Fix comment typos.
14078         * config/alpha/alpha.md: Likewise.
14079         * config/arm/arm.c: Likewise.
14080         * config/arm/arm.md: Likewise.
14081         * config/arm/lib1funcs.asm: Likewise.
14082         * config/avr/avr.md: Likewise.
14083         * config/arm/README-interworking: Fix typos.
14084
14085 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
14086
14087         * c-format.c: Fix comment formatting.
14088         * c-typeck.c: Likewise.
14089         * coverage.c: Likewise.
14090         * cppcharset.c: Likewise.
14091         * cpplib.c: Likewise.
14092         * dbxout.c: Likewise.
14093         * gcov-io.h: Likewise.
14094         * toplev.c: Likewise.
14095
14096 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
14097
14098         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
14099         fix.
14100
14101 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
14102
14103         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
14104         uses three-argument AC_DEFINE so no acconfig.h entries are
14105         needed.
14106         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
14107         which contains the GAS version number as a scaled integer.
14108         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
14109         ability to check for ELF assembler.
14110         (gcc_GAS_CHECK_FEATURE): New macro.
14111         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
14112         assembler feature checks using gcc_GAS_CHECK_FEATURE.
14113         Use three-argument AC_DEFINE everywhere.
14114         * acconfig.h: Deleted.
14115         * config.in, configure: Regenerate.
14116
14117 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
14118
14119         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
14120         (on OpenBSD).
14121         * fixinc/fixincl.x: Regenerate.
14122
14123         * fixinc/inclhack.def (gnu_types): Improve comment.
14124
14125 2003-07-12  Andreas Jaeger  <aj@suse.de>
14126
14127         * fp-test.c (main): Use ISO C90 prototype.
14128
14129         * version.c: Remove unneded include of ansidecl.h.
14130
14131         * cgraph.h: Convert prototypes to ISO C90.
14132         * cgraph.c: Likewise.
14133         * fix-header.c: Likewise.
14134         * ra.h: Likewise.
14135         * protoize.c: Likewise.
14136
14137 2003-07-12  Jan Hubicka  <jh@suse.cz>
14138
14139         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
14140         warning.
14141
14142 2003-07-12  Jan Hubicka  <jh@suse.cz>
14143                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14144
14145         * cgraph.c (cgraph_max_uid): New global variable.
14146         (cgraph_node): Set uid field.
14147         (create_edge): Keep inline flags consistent.
14148         (dump_cgraph): Dump more info.
14149         * cgraph.h (struct cgraph_local_info): Remove inline_many and
14150         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
14151         (struct cgraph_global_info): Add insns, calls, cloned_times,
14152         will_be_output.
14153         (struct cgraph_node): Add uid.
14154         (struct cgraph_edge): Add inline_call.
14155         (cgraph_max_uid, cgraph_inline_p): Declare.
14156         * cgraph.c: Include params.h and fibheap.h
14157         (cgraph_mark_functions_to_inline_once): Kill.
14158         (INSNS_PER_CALL): New constant.
14159         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
14160         static variables.
14161         (cgraph_finalize_function): Do not analyze inlining.
14162         (cgraph_finalize_compilation_unit): Set inlining attributes.
14163         (cgraph_mark_functions_to_output): More consistency checks.
14164         (cgraph_optimize_function): Set current_function_decl to NULL.
14165         (cgraph_expand_function): Use new inline flags.
14166         (cgraph_postorder): Expand from cgraph_expand_functions.
14167         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
14168         (cgraph_inlined_into, cgraph_inlined_callees,
14169         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
14170         cgraph_mark_inline, cgraph_check_inline_limits,
14171         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
14172         cgraph_decide_inlining, cgraph_inline_p): New functions.
14173         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
14174         PARAM_INLINE_UNIT_GROWTH): New parameters.
14175         * tree-inline.c (struct inline_data): New field current_decl.
14176         (expand_call_inline): Avoid forward declarations; use
14177         inlinable_function_p.
14178         (optimize_inline_calls): Set id.current_decl.
14179
14180 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
14181
14182         * configure.in: Remove wrongly added definition of
14183         local_prefix.
14184         * configure: Regenerate.
14185
14186 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
14187
14188         * rtl.def (NOTE): Do not use padding.
14189
14190 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
14191
14192         * doc/install.tex: Update required binutils for i?86-*-linux*
14193
14194 2003-07-11  Richard Henderson  <rth@redhat.com>
14195
14196         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
14197
14198 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
14199
14200         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
14201         TRANSLATION_UNIT_DECL as top_level.
14202
14203 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
14204
14205         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
14206         then fall back to cmpstrM.
14207         * builtins.c (expand_builtin_memcmp): Likewise.
14208         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
14209         (s390_expand_cmpmem): ... this.
14210         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
14211         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
14212         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
14213         to s390_expand_cmpmem.
14214         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
14215         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
14216         to cmpmem*.
14217         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
14218         cmpstr* patterns.
14219         * doc/md.texi (cmpstrM): Describe as String compare insn, not
14220         Block compare insn.
14221         (cmpmemM): Add.
14222
14223 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
14224
14225         * config/i386/freebsd.h (SET_ASM_OP): Remove.
14226         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
14227         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
14228          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
14229
14230 2003-07-11  Richard Henderson  <rth@redhat.com>
14231
14232         * function.c (assign_parms): Don't recombine complex args if
14233         fnargs is unchanged from orig_fnargs.
14234         (split_complex_args): Return args without complex before copying.
14235         Re-layout the modified parameters.
14236
14237 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
14238
14239         * regclass.c (choose_hard_reg_mode): Add third argument.
14240         Changed all callers.
14241         * rtl.h (choose_hard_reg_mode): Update declaration.
14242         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
14243         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
14244
14245 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
14246
14247         * c-decl.c (finish_decl): Handle 'used' here...
14248         * cgraphunit.c (cgraph_finalize_function): ... and here ...
14249         * c-common.c: (handle_used_attribute): ... not here.
14250
14251         * configure.in (onstep): Support --enable-intermodule.
14252         * Makefile.in (OBJS-common): New.
14253         (OBJS-md): New.
14254         (OBJS-archive): New.
14255         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
14256         (OBJS-onestep): New.
14257         (libbackend.a): Support @onestep@.
14258         (libbackend.o): New.
14259         * configure: Regenerate.
14260
14261         * c-common.h (c_reset_state): New prototype.
14262         (c_parse_file): New prototype.
14263         (finish_file): Move prototype from c-tree.h.
14264         * c-decl.c: Include <hashtab.h>.
14265         (builtin_decls): New.
14266         (current_file_decl): New.
14267         (duplicate_decls): Add extra parameter. Change all callers.  Don't
14268         output duplicate common symbols.
14269         (link_hash_hash): New.
14270         (link_hash_eq): New.
14271         (poplevel): Handle popping of the top level.
14272         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
14273         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
14274         (pushdecl_top_level): Likewise.
14275         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
14276         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
14277         (finish_decl): Handle TRANSLATION_UNIT_DECL.
14278         (merge_translation_unit_decls): New.
14279         (c_write_global_declarations): New.
14280         (c_reset_state): New.
14281         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
14282         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
14283         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
14284         TRANSLATION_UNIT_DECL.
14285         (c_objc_common_finish_file): Call merge_translation_unit_decls.
14286         * c-opts.c (in_fnames): Rename from in_fname.
14287         (c_common_decode_option): Handle multiple input filenames.
14288         (c_common_post_options): Likewise.
14289         (c_common_parse_file): Likewise; also, call c_parse_file rather than
14290         yyparse.
14291         * c-parse.in: Move cleanup code to c_parse_file.
14292         (free_parser_stacks): Move contents to c_parse_file.
14293         (c_parse_file): New.
14294         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
14295         for integer types.
14296         (C_DECL_FILE_SCOPE): New.
14297         (finish_file): Move prototype to c-common.h.
14298         (merge_translation_unit_decls): New prototype.
14299         (comptypes): Add extra parameter to prototype.
14300         (c_write_global_declarations): New prototype.
14301         * c-typeck.c (tagged_types_tu_compatible_p): New.
14302         (function_types_compatible_p): Add extra parameter, change all callers.
14303         (type_lists_compatible_p): Likewise.
14304         (comptypes): Likewise.
14305         (struct tagged_tu_seen): New.
14306         (tagged_tu_seen_base): New.
14307         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
14308         (c_mark_addressable): Remove #if 0 code.
14309         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
14310         comment explaining why it shouldn't have to.
14311         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
14312         options.
14313         * cppinit.c (cpp_read_next_file): New.
14314         (cpp_read_main_file): Use it.
14315         * cpplib.c (undefine_macros): New.
14316         (cpp_undef_all): New.
14317         * cpplib.h (cpp_read_next_file): Prototype.
14318         (cpp_undef_all): Prototype.
14319         * langhooks-def.h (write_global_declarations): Remove prototype.
14320         * toplev.h (write_global_declarations): Add prototype.
14321         * tree.c (decl_type_context): Use switch statement, handle
14322         TRANSLATION_UNIT_DECL.
14323         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
14324         (TRANSLATION_UNIT_DECL): New kind of tree.
14325         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
14326         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
14327         * doc/invoke.texi: Make attempt to document new functionality.
14328
14329         2003-05-19  Per Bothner <bothner@apple.com>
14330
14331         * gcc.c (combine_inputs): New.
14332         (process_command): Set combine_inputs.
14333         (do_spec_1): Handle combine_inputs.
14334         (main): Likewise.
14335
14336 2003-07-10  James E Wilson  <wilson@tuliptree.org>
14337
14338         PR optimization/9745
14339         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
14340         loop_insn_emit_before.
14341         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
14342
14343 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
14344
14345         * cppcharset.c: Fix comment.
14346         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
14347         (EILSEQ): #define to EINVAL if not already defined.
14348         (convert_using_iconv): #if out when !HAVE_ICONV.
14349         (init_iconv_desc): Handle !HAVE_ICONV here...
14350         (cpp_init_iconv): ...not here.
14351
14352 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
14353
14354         * common.opt: More --help messages.
14355         * opts.c (print_help): Use puts().
14356         * toplev.c (f_options): Remove help text.
14357         (display_help): Don't dump f_options.
14358
14359 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
14360
14361         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
14362         Move i?86-*-interix* to the don't-fix list.
14363         * fixinc/fixinc.interix: Delete with extreme prejudice.
14364
14365 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
14366
14367         PR bootstrap/10758
14368         * doc/install.texi: Document requirements for ia64-*-hpux* target.
14369
14370 2003-07-10  Roger Sayle  <roger@eyesopen.com>
14371
14372         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
14373
14374 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
14375
14376         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
14377         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
14378         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
14379         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
14380         convert_no_conversion, convert_using_iconv): New functions.
14381         (APPLY_CONVERSION): New macro.
14382         (struct conversion, conversion_tab): New data structure.
14383         (init_iconv_desc): Check conversion_tab for a custom conversion
14384         primitive before trying to use iconv.
14385         (convert_cset): Deleted.
14386         (cpp_init_iconv): Use UTF- terminology, not UCS-.
14387         (_cpp_destroy_iconv): Update to match.
14388         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
14389         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
14390         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
14391         (_cpp_interpret_string_notranslate): New function, moved here
14392         from cpplib.c.
14393
14394         * cpphash.h (convert_f, struct cset_converter): New types.
14395         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
14396         are now struct cset_converter, not bare iconv_t.
14397         Update prototypes.
14398         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
14399         all callers changed.
14400
14401 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
14402
14403         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
14404         to opts.sh command line.
14405         * opts.sh: Write to temporary files with a move-if-change at the end.
14406
14407 2003-07-10  Denis Chertykov  <denisc@overta.ru>
14408             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14409
14410         * combine.c (gen_binary): Handle the CLOBBER rtx and
14411         don't build a binary operation with it.
14412
14413 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14414
14415         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
14416         store_killed_after, store_killed_before): Keep track of the correct
14417         dependency function to use.
14418
14419 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
14420         * toplev.c (do_compile): Don't try to open dump files before
14421         lang_dependent_init initializes dump_base_name.
14422
14423 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14424
14425         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
14426         Use ARRAY_SIZE.
14427         * config/frv/frv.c (frv_expand_builtin): Likewise.
14428         * config/sh/sh.c (sh_media_init_builtins): Likewise.
14429
14430 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
14431
14432         PR c++/10032
14433         * doc/invoke.texi (C++ Dialect Options): Change documentation of
14434         -fpermissive.
14435
14436 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
14437
14438         * tm.texi (RETURN_ADDR_OFFSET): Document.
14439
14440 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
14441
14442         * gcov-io.h: Update documentation.
14443         (GCOV_UNSIGNED2STRING): New.
14444         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
14445         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
14446         GCOV_TAG_SUMMARY_LENGTH): Adjust.
14447         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
14448         GCOV_TAG_COUNTER_NUM): New.
14449         (GCOV_BLOCK_SIZE): Number of words.
14450         (gcov_var): Adjust buffer type.
14451         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
14452         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
14453         count, not byte count.
14454         (gcov_open): Adjust overread init.
14455         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
14456         gcov_write_string, gcov_write_tag, gcov_write_length,
14457         gcov_write_tag_length): Adjust.
14458         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
14459         (gcov_sync, gcov_seek): Adjust.
14460         * gcov-dump.c (print_usage): Show gcc version only.
14461         (dump_file): Use GCOV_UNSIGNED2STRING.
14462         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
14463         * gcov.c (print_version): Show gcc version only.
14464         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
14465         GCOV_TAG_*_NUM macros.
14466         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
14467         GCOV_TAG_COUNTER_LENGTH.
14468         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
14469         Use GCOV_TAG_COUNTER_NUM.
14470         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
14471         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
14472
14473 2003-07-10  Andreas Schwab  <schwab@suse.de>
14474
14475         * gcov-dump.c (dump_file): Fix missing address operator.
14476
14477 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
14478
14479         PR c/11449
14480         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
14481         of HOST_WIDE_INT.
14482         (fold_single_bit_test): If sign_bit_p() fails, assume that the
14483         bit being tested is not a sign bit.
14484
14485 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
14486
14487         * config/h8300/h8300.md (a peephole2): New.
14488
14489 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
14490
14491         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
14492         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
14493         from ld-linux.so.2 to ld.so.1.
14494         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
14495         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
14496         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
14497         nor -Wl,-rpath-link.
14498         (LIB_SPEC): Add -rpath-link if !static.
14499         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
14500         * config/mn10300/mn10300.c (mn10300_protect_label): New
14501         variable.
14502         * config/mn10300/linux.h (PRINT_OPERAND,
14503         PRINT_OPERAND_ADDRESS): Set it during their execution.
14504         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
14505         mn10300_protect_label is set.
14506         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
14507         -Wl,-rpath-link.
14508         (LIB_SPEC, STARTFILE_SPEC): Define.
14509         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
14510         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
14511         FLOAT_BIT_ORDER_MISMATCH.
14512         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
14513         * config.gcc (am33_2.0-*-linux*): Added.
14514         * config/mn10300/linux.h: New.
14515         * config/mn10300/t-linux: New.
14516
14517 2003-07-10  Andreas Jaeger  <aj@suse.de>
14518
14519         * fold-const.c: Properly wrap prototypes.
14520
14521 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
14522
14523         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
14524         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
14525         Moved from...
14526         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
14527         * config/mn10300/mn10300.h: GTY-declare it.
14528         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
14529         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
14530         prototype.  Use incoming RTL argument.
14531         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
14532         * config/mn10300/mn10300.md (int_label): Move C statements...
14533         (GOTaddr2picreg): ... here.
14534         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
14535         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
14536         * config/mn10300/mn10300.c (mn10300_encode_section_info):
14537         ... here.  New function.
14538         (TARGET_ENCODE_SECTION_INFO): Define to it.
14539         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
14540         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
14541         pattern name.
14542         (mn10300_loadPC): Define as insn splittable after reload.
14543         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
14544         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
14545         be defined in .rodata even in PIC, now that the assembler
14546         supports that.
14547         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
14548         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
14549         symbol take an underscore prefix.
14550         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
14551         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
14552         legitimize_pic_address): Declare.
14553         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
14554         the PIC register as fixed.
14555         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
14556         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
14557         PIC.
14558         (LEGITIMATE_PIC_OPERAND_P): Define.
14559         (PIC_OFFSET_TABLE_REGNUM): Define.
14560         (GOT_SYMBOL_NAME): Define.
14561         (SYMBOLIC_CONST_P): Define.
14562         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
14563         symbols.
14564         (MN10300_GLOBAL_P): Test it.
14565         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
14566         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
14567         * config/mn10300/mn10300.c (print_operand): Handle unspec.
14568         (expand_prologue): Set PIC register.
14569         (call_address_operand): Don't match SYMBOL_REFs in PIC.
14570         (legitimize_address): Call legitimize_pic_address.
14571         (legitimize_pic_address): New fn.
14572         (legitimate_pic_operand_p): New fn.
14573         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
14574         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
14575         UNSPEC_PLT): New constants.
14576         (pop_pic_reg): New insn.
14577         (movsi): Adjust non-PIC addresses.
14578         (builtin_setjmp_receiver): Restore the PIC register.
14579         (casesi): New insn.
14580         (call): Adjust non-PIC addresses.
14581         (int_label, GOTaddr2picreg): New expands.
14582         (am33_loadPC): New insn.
14583         (mn10300_loadPC): New expand.
14584         (call_next_insn): New insn.
14585         (add_GOT_to_pic_reg): New expand.
14586         (symGOT2reg, symGOT2reg_i): New expands.
14587         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
14588         (sym2PIC, sym2PLT): New expands.
14589
14590 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
14591
14592         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
14593         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
14594         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
14595         to flag_unsafe_math_optimizations.
14596         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
14597         * config/mn10300/mn10300.c (expand_prologue): Mark
14598         FP-register-saving insns as frame-related.
14599         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
14600         * config/mn10300/mn10300.c
14601         (mn10300_get_live_callee_saved_regs): Don't search past
14602         LAST_EXTENDED_REGNUM.
14603         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
14604         * config/mn10300/mn10300.md: Remove excessive line breaks from
14605         `@' output patterns that were accounted as additional
14606         alternatives.
14607         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
14608         Re-introduce changes accidentally removed in Richard Sandiford's
14609         2000-12-05's patch.
14610         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14611         Re-instate am33-2 lost in merge from net GCC.
14612         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
14613         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
14614         floating-point registers.
14615         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
14616         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
14617         pessimizations that had gone in on 2000-05-08.
14618         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
14619         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
14620         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
14621         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
14622         operand 0.
14623         * (movhi): Likewise.
14624         * (movsi): Likewise.
14625         * (movsf): Likewise.
14626         * (movdi): Likewise.
14627         * (movdf): Likewise.
14628         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
14629         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
14630         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
14631         (expand_prologue, expand_epilogue): Save and restore FP regs.
14632         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
14633         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
14634         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
14635         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
14636         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
14637         Do not clobber cc0.
14638         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
14639         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
14640         Discourage the two-argument, longer opcodes.
14641         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
14642         ones.
14643         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
14644         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
14645         * config/mn10300/mn10300.md (cmpsf): New pattern.
14646         (branch): Test mdep.fpCC and output fbCC.
14647         * config/mn10300/mn10300.c (print_operand): Output conditions.
14648         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
14649         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
14650         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
14651         mulsf3, divsf3): Use the `F' constraint for FP values.
14652         * config/mn10300/mn10300.c (const_1f_operand): New function.
14653         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
14654         * config/mn10300/mn10300.md (sqrtsf2): New expand.
14655         (rsqrtsf2): New insn.
14656         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
14657         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
14658         previous check-in.
14659         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
14660         * config/mn10300/mn10300.md (abssf2, negdf2): On
14661         TARGET_AM33_2, expand to...
14662         (abssf2_am33_2, negdf2_am33_2): New insns.
14663         (addsf3, subsf3, mulsf3, divsf3): Likewise.
14664         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
14665         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
14666         movdi, movdf): Added FP regs.
14667         * invoke.texi (-mam33-2, -mno-am33-2): Document.
14668         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
14669         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
14670         New macros.
14671         (REGNO_AM33_2_FP_P): Renamed to...
14672         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
14673         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
14674         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14675         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
14676         regs from GENERAL_REGS.
14677         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14678         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
14679         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
14680         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
14681         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
14682         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
14683         as FP_REGS.
14684         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
14685         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
14686         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
14687         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
14688         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
14689         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
14690         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
14691         AM33/2.0 floating-point registers.
14692         (CONDITIONAL_REGISTER_USAGE): Adjust.
14693         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
14694         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
14695         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
14696         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
14697         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
14698         (MULTILIB_DIRNAMES): Likewise.
14699         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
14700         `__AM33_2__' when `-mam33-2' is given.
14701         (TARGET_AM33_2): Define.
14702         (TARGET_SWITCHES): Adjust.
14703         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
14704         when appropriate.
14705
14706 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
14707
14708         * doc/install.texi: Add missing @.
14709
14710 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
14711
14712         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
14713
14714 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
14715
14716         PR/11144
14717         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
14718
14719 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
14720
14721         PR bootstrap/11043
14722         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
14723         "x-crtfini.o" with "crtinit.o", "crtfini.o".
14724
14725         * fixinc/inclhack.def (limits_ifndefs): Add select test.
14726         * fixinc/fixincl.x: Rebuild.
14727
14728         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
14729         * fixinc/fixincl.x: Rebuild.
14730
14731 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
14732
14733         * doc/install.texi (Configuration): Document the valgrind option
14734         to --enable-checking.
14735
14736 2003-07-09  Jan Hubicka  <jh@suse.cz>
14737
14738         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14739
14740 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14741
14742         * c-lex.c (cb_ident): Cast cstr.text to const char *.
14743
14744 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14745
14746         * gcov-io.h: Update documentation.
14747         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
14748         GCOV_NOTE_MAGIC.
14749         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
14750         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
14751         (struct gcov_var): Change buffer's type. Add endian flag.
14752         (gcov_open): Remove mode in libgcov.
14753         (gcov_magic): Prototype.
14754         * gcov-io.c (from_file): New.
14755         (gcov_open): Clear endian flag.
14756         (gcov_magic): New.
14757         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
14758         pointers.
14759         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
14760         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
14761         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
14762         * gcov-iov.c (main): Correct cast.
14763         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
14764         conversion.
14765         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
14766         (coverage_init): Use GCOV_NOTE_SUFFIX.
14767         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
14768         Rename to gcov_version, and return flag.
14769         (gcov_exit): Use gcov_version.
14770         (__gcov_init): Use gcov_version.
14771         * Makefile.in (coverageexts): Update.
14772         * gcov.c (print_version): Remove endianness conversion.
14773         (create_file_names): Use GCOV_NOTE_SUFFIX.
14774         (read_graph_file): Use gcov_magic.
14775         (read_count_file): Likewise.
14776         * gcov-dump.c (dump_file): Remove endianness conversion, use
14777         gcov_magic.
14778
14779 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14780
14781         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
14782         coverage is on.
14783         * configure: Regenerated.
14784         * Makefile.in (ALL_CFLAGS): Correct its comment.
14785
14786 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
14787
14788         * fold-const.c (make_range): Do not access operand 1 for a
14789         zero-operand operator.
14790
14791 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
14792
14793         * toplev.c (warn_dummy, W_options): Die.
14794         (display_help): Don't print W_options.
14795         * common.opt: Add W_options help from toplev.c.
14796
14797 2003-07-09  Andreas Jaeger  <aj@suse.de>
14798
14799         * opts.c (wrap_help): Only pass int arguments as arguments to
14800         printf's '*' modifier.  Change argument of function.
14801
14802 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14803
14804         * doc/invoke.texi: Fix misspelling of "@item".
14805
14806 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14807
14808         * config/i386/i386.md: Remove an old comment about
14809         NOTICE_UPDATE_CC.
14810
14811 2003-07-09  Jan Hubicka  <jh@suse.cz>
14812
14813         * cgraph.c (cgraph_node_name): New function.
14814         (dump_cgraph): Use it.
14815         * cgraph.h (cgraph_dump_file): Declare.
14816         (cgraph_node_name): Declare.
14817         * cgraphunit.c: Include timevar.h
14818         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
14819         (cgraph_optimize_function): Use TV_INTEGRATION.
14820         (cgraph_mark_local_functions): reorganize dumps.
14821         (cgraph_mark_functions_to_inline_once): Likewise.
14822         (cgraph_optimize): Likewise; use timevar.
14823         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
14824         * toplev.c (dump_file_index): Add DFI_cgraph.
14825         (dump_file_info): Likewise.
14826         (cgraph_dump_file): New global variable.
14827         (do_compile): Open and close cgraph dump.
14828         * invoke.texi (-d): Document new flag; renumber.
14829
14830 2003-07-08  Roger Sayle  <roger@eyesopen.com>
14831
14832         PR c/11370
14833         * calls.c (emit_call_1): Don't bother popping the arguments off of
14834         the stack after a noreturn function call;  The adjustment is dead.
14835         (expand_call): Likewise.
14836
14837 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
14838
14839         * expr.c (MOVE_MAX_PIECES): Move from here...
14840         * defaults.h (MOVE_MAX_PIECES): ... to here.
14841
14842 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14843
14844         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
14845
14846 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14847
14848         * genattr.c (internal_dfa_insn_code): Don't prototype.
14849         * genattrtab.c (attr_desc): Add `static_p' field.
14850         (expand_units): Make blockage range and ready cost functions
14851         static.
14852         (write_attr_get): Don't add extern prototypes in C file.  Mark
14853         static functions as appropriate.
14854         (find_attr, make_internal_attr): Initialize static_p.
14855         * genattrtab.h (ATTR_STATIC): New macro.
14856         * genautomata.c (output_internal_reset_func): Mark output function
14857         as inline.
14858         (make_internal_dfa_insn_code_attr): Mark output function as static.
14859
14860 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14861
14862         * genattrtab.h: Add new macros for attr `special' flags.
14863         * genattrtab.c (attr_desc): Reorder/resize fields better.
14864         Use attr `special' macros in all calls to make_internal_attr.
14865         * genautomata.c: Likewise.
14866
14867 2003-07-09  Jan Hubicka  <jh@suse.cz>
14868
14869         * c-common.c (c_estimate_num_insns_1): New static function.
14870         (c_estimate_num_insns): New global function.
14871         * c-common.h (DECL_NUM_STMTS): Rename to...
14872         (DECL_ESTIMATED_INSNS): ... this.
14873         (c_estimate_num_insns): Declare.
14874         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
14875         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14876         * c-semantics.c (add_stmt): Do not account statements.
14877         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
14878         New.
14879         * langhooks.h (lang_hooks_for_tree_inlining): Add
14880         estimate_num_insns
14881         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
14882         to 100.
14883         (max-inline-insns): set to 300.
14884         (min-inline-insns): set to 10.
14885         * tree-inline.c (struct inline_data): Rename inlined_stmts to
14886         inlined-insns.
14887         (INSNS_PER_STMT): Kill.
14888         (inlinable_function_p): Compute and store body size.
14889         (expand_call_inline): Likewise.
14890         (optimize_inline_calls): Likewise.
14891
14892 2003-07-08  James E Wilson  <wilson@tuliptree.org>
14893
14894         PR target/10021
14895         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
14896         loop over new variable t2 instead of t.
14897
14898 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14899
14900         PR bootstrap/11455
14901         * config/i386/winnt.c: Replace use of error(), warning() with
14902         error_with_decl(), warning_with_decl(),  throughout.
14903
14904 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14905
14906         * opts.c (wrap_help): Use unsigned int, not size_t.
14907
14908 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
14909
14910         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
14911         as .file/.loc directives are incompatible with linker relaxation.
14912
14913 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14914
14915         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
14916         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
14917         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
14918         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
14919         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
14920         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14921         Escape { and } characters which are not part of range expressions.
14922         * fixinc/fixincl.x: Regenerate.
14923         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14924
14925 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
14926
14927         PR c/1687
14928         * tree-inline.c (find_alloca_call): Use
14929         walk_tree_without_duplicates, instead of walk_tree.
14930         (find_builtin_longjmp_call): Likewise.
14931         * c-objc-common.c (c_cannot_inline_fn): Likewise.
14932         * c-semantics.c (find_reachable_label): Likewise.
14933
14934 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14935
14936         PR c/11420
14937         * config/i386/i386.c (ix86_check_movabs): New function.
14938         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14939         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14940         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14941
14942 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
14943
14944         * Makefile.in (install-po): Cope with empty CATALOGS.
14945
14946 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
14947
14948         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14949         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14950         (SECTION_FUNCTION_TEMPLATE): Delete.
14951         * config/mips/elf.h: As for elf64.h.
14952         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14953         * config/mips/linux.h: As for elf.h
14954         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14955         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14956         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
14957         of in_sdata from current_section_name and current_section_flags.
14958         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14959         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14960         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14961         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14962         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14963         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14964         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14965         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14966         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14967         (override_options): Remove setting of MASK_GPOPT.
14968         (mips_output_external): Use mips_in_small_data_p to check whether a
14969         symbol needs an .extern directive.  Don't emit such directives for
14970         TARGET_EXPLICIT_RELOCS.
14971         (mips_declare_object): Update accordingly.
14972         (mips_select_rtx_section): Call named_section rather than
14973         SMALL_DATA_SECTION.
14974         (mips_select_section): Use default_elf_section_section for everything
14975         except .text string constants.
14976         (mips_in_small_data_p): New function.
14977         (mips_encode_section_info): Remove small data handling.
14978         (mips_unique_section): Delete.
14979         (iris6_section_type_flags): New function.
14980         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14981
14982 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14983
14984         PR Target/11453
14985         * pa.md: Disparage all mtsar constraints.
14986         (extzv, extv, insv): Don't fail on length of {32|64}.
14987
14988 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14989
14990         * system.h: Poison MAP_CHARACTER.
14991         * config/i370/i370-protos.h (mvs_map_char): Delete.
14992         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14993         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14994         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14995
14996 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14997
14998         * toplev.c (randomize): Correct call to time().
14999
15000 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
15001
15002         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
15003         REG_EQUIV notes as well.
15004
15005 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
15006
15007         * doc/md.texi: Fix the description of addmodecc.
15008
15009 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
15010
15011         * Makefile.in (top_builddir): Set to "..", not ".".
15012         (INTLLIBS, INTLDEPS): Delete.
15013         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
15014         (LIBDEPS): Add $(LIBICONV_DEP).
15015         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
15016         (INCLUDES): Replace -I../intl with @INCINTL@.
15017         ($(top_builddir)/intl/libintl.a): Delete rule.
15018         (stage2-start, stage3-start, stage4-start, stageprofile-start,
15019         stagefeedback-start): Use $$ for variable to be evaluated by
15020         shell, not make.
15021         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
15022         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
15023         * aclocal.m4: sinclude ../config/progtest.m4.  Add
15024         contents of lcmessage.m4 from gettext distro.
15025         * configure.in: Check for wchar.h and setlocale.  Set
15026         LIBICONV_DEP to the empty string and substitute it.
15027         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
15028         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
15029         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
15030         in $LIBINTL, to avoid linking it twice.
15031         * configure, config.in: Regenerate.
15032
15033 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
15034
15035         * fixinc/mkfixinc.sh: Remove winnt support.
15036         * fixinc/fixinc.winnt: Delete with extreme prejudice.
15037
15038 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
15039
15040         * Makefile.in: Update.
15041         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
15042         * c.opt: Update documentation.
15043         * common.opt: Add some help text.
15044         * opts.c: Include intl.h.
15045         (wrap_help, print_help): New.
15046         (find_opt, handle_option, common_handle_option): opt_text now
15047         contains the '-'.  Use print_help to output help.
15048         * opts.h (struct cl_option): New member "help".
15049         * opts.sh: Update to handle help text output and to prepend
15050         options with '-'.
15051         * toplev.c (display_help): Remove some help text.
15052
15053 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
15054             Fariborz Jahanian  <fjahanian@apple.com>
15055
15056         * configure.in: Test for PowerPC mfcr field support in assembler.
15057         * config.in, configure: Regenderated.
15058
15059         * config/rs6000/power4.md: Add mfcrf reservation.
15060         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
15061         * config/rs6000/rs6000.c (mfcr_operation): Define.
15062         (print_operand): Add 'Q' case for mfcrf.
15063         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
15064         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
15065         (movcc_internal1): Emit optional field operand for mfcr and set
15066         "type" attribute appropriately.
15067         (mfcr SCC): Likewise.
15068         (movesi_from_cr_one): New.
15069
15070 2003-07-07  Roger Sayle  <roger@eyesopen.com>
15071
15072         * config/i386/i386.md: Correct check-in of incorrect version.
15073
15074 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15075
15076         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
15077         adjacent stdio calls.
15078         * c-decl.c (c_print_identifier): Likewise.
15079         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
15080         * print-rtl.c (print_rtx): Likewise.
15081         * print-tree.c (print_node_brief, print_node): Likewise.
15082         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
15083
15084         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
15085         * config.in, configure: Regenerated.
15086
15087 2003-07-07  Roger Sayle  <roger@eyesopen.com>
15088
15089         PR target/10979
15090         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
15091         Changed to define_expand patterns that copy operand[1] to prevent
15092         it from being clobbered before emitting an atan2?f3_1 insn.
15093         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
15094         patterns that actually specify the behaviour of x87's FPATAN.
15095
15096 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
15097
15098         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
15099         clearing of SYMBOL_FLAG_LOCAL bit.
15100         If vcall_offset fits into signed 16-bit immediate, use
15101         one instruction for both addition and load.
15102
15103 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
15104
15105         * opts.c (common_handle_option): Correct handling of the
15106         -falign- switches that do and don't take an argument.
15107
15108 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
15109
15110         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
15111         today.
15112         (pushhi1_h8300hs): Likewise.
15113
15114 2003-07-07  Andreas Jaeger  <aj@suse.de>
15115
15116         * genextract.c: Convert remaining prototypes to ISO C90.
15117
15118         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
15119         * fold-const.c (fold_single_bit_test): Likewise.
15120         * diagnostic.c (default_diagnostic_finalizer): Likewise.
15121         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
15122
15123         * gengtype.c (write_array): Generate ISO C90 prototypes.
15124
15125         * genflags.c (gen_proto): Generate ISO C90 prototypes.
15126
15127 2003-07-07  Roger Sayle  <roger@eyesopen.com>
15128
15129         PR optimization/11059
15130         * expr.c (can_store_by_pieces): Return true if length is zero.
15131         (store_by_pieces): If length is zero and endp is two, abort,
15132         othwerise, if length is zero and endp is not two, return "to".
15133         (clear_by_pieces): Do nothing if length is zero.
15134         (clear_storage): Do nothing if length is zero.
15135         (store_constructor): Simplify code when size is zero, or the
15136         target has already been cleared.  This avoids emitting a
15137         blockage instruction when initializing empty structures.
15138
15139 2003-07-07  Andreas Jaeger  <aj@suse.de>
15140
15141         * mips-tfile.c: Convert prototypes to ISO C90.
15142         * mips-tdump.c: Convert prototypes to ISO C90.
15143
15144 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
15145
15146         * rtl.h (emit_line_note): Take a location_t.
15147         (emit_line_note_force): Remove.
15148         (set_file_and_line_for_statement): Take a location_t.
15149         * tree.g (emit_line_note): Take a location_t.
15150         * emit-rtl.c (emit_line_note): Take a location_t.
15151         (emit_line_note_force): Remove.
15152         * function.c (init_function_start): Adjust emit_line_note call.
15153         (expand_function_end): Use force_next_line_note, not
15154         emit_line_note_force.
15155         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
15156         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
15157         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
15158         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
15159         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
15160         genrtl_continue_stmt, genrtl_switch_stmt,
15161         genrtl_asm_stmt): Likewise.
15162         * expr.c (expand_expr): Likewise.
15163         * integrate.c (expand_inline_function): Likewise.
15164         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
15165         (expand_decl_init): Adjust emit_line_note call.
15166
15167 2003-07-07  Dale Johannesen  <dalej@apple.com>
15168
15169         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
15170
15171 2003-07-07  Andreas Jaeger  <aj@suse.de>
15172
15173         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
15174         * config/i386/i386.c: Likewise.
15175
15176 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
15177
15178         * config/h8300/h8300.md: Use gen_int_mode instead of
15179         GEN_INT (trunc_int_for_mode (...)).
15180
15181 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
15182
15183         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
15184         2 bytes and then subtract 2 from the stack pointer.
15185         (pushhi1_h8300hs): Likewise.
15186
15187 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
15188
15189         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
15190         -frandom-seed.
15191         * configure: Regenerated.
15192         * Makefile.in: Remove extraneous comment.
15193         * toplev.c (randomize): Protect against potential multiple calls.
15194         * doc/invoke.texi (-frandom-seed): Document use for in coverage
15195         files.
15196
15197 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15198             Eric Botcazou  <ebotcazou@libertysurf.fr>
15199
15200         PR optimization/11198
15201         * alias.c (objects_must_conflict_p): Return 1 if the types have
15202         the same alias set, not if the alias sets only conflict.
15203
15204 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
15205
15206         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
15207         (convert_cset): Change inbuf to type ICONV_CONST char.
15208         * Makefile.in (LIBS): Add LIBICONV.
15209
15210         * doc/invoke.texi (-falign-functions): Document that
15211         when n is zero then a machine-dependent default is used.
15212         (-falign-labels): Document that when n is zero then a
15213         machine-dependent default is used and that -falign-labels =1
15214         is equivalent to -fno-align-labels.
15215         (-falign-loops): Likewise.
15216         (-falign-jumps): Likewise.
15217
15218 2003-07-06  Art Haas  <ahaas@airmail.net>
15219
15220         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
15221         initializer syntax.
15222
15223 2003-07-06  James E Wilson  <wilson@tuliptree.org>
15224
15225         PR optimization/9812
15226         * rtl.h (mem_for_const_double): Delete prototype.
15227         * varasm.c (mem_for_const_double): Delete function.
15228         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
15229         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
15230         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
15231         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
15232         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
15233         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
15234         comment about confused support for XFmode constants.
15235
15236 2003-07-07  Jan Hubicka  <jh@suse.cz>
15237
15238         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
15239
15240 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
15241
15242         * config/h8300/h8300.c: Fix comment typos.
15243         * config/h8300/h8300.md: Likewise.
15244         * config/i386/athlon.md: Likewise.
15245         * config/i386/i386.c: Likewise.
15246         * config/i386/pentium.md: Likewise.
15247         * config/ia64/ia64.c: Likewise.
15248         * config/ia64/itanium1.md: Likewise.
15249         * config/ia64/itanium2.md: Likewise.
15250         * config/m32r/m32r.md: Likewise.
15251         * config/m68hc11/m68hc11.c: Likewise.
15252         * config/mcore/mcore.c: Likewise.
15253         * config/mips/sr71k.md: Likewise.
15254         * config/mips/t-iris5-as: Likewise.
15255         * config/mmix/mmix.h: Likewise.
15256         * config/ns32k/ns32k.h: Likewise.
15257         * config/ns32k/NOTES: Fix a typo.
15258
15259 2003-07-06  Andreas Jaeger  <aj@suse.de>
15260
15261         * stmt.c: Convert remaining prototypes to ISO C90.
15262         * cfglayout.c: Likewise.
15263         * dbxout.c: Likewise.
15264         * gcc.c: Likewise.
15265         * genemit.c: Likewise.
15266
15267         * basic-block.h: Convert prototypes to ISO C90.
15268         * c-parse.in: Likewise.
15269         * c-pragma.h: Likewise.
15270         * c-typeck.c: Likewise.
15271         * cfghooks.h: Likewise.
15272         * cfgloopanal.c: Likewise.
15273         * dbxout.h: Likewise.
15274         * debug.h: Likewise.
15275         * dwarf2asm.h: Likewise.
15276         * gcov.c: Likewise.
15277         * gengtype-lex.l: Likewise.
15278         * sched-int.h: Likewise.
15279         * timevar.c: Likewise.
15280
15281 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
15282
15283         * c-common.h (c_comon_handle_filename,
15284         c_common_missing_arguement): New.
15285         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
15286         LANG_HOOKS_MISSING_ARGUMENT): New.
15287         * c-opts.c (missing_arg): Rename c_common_missing_argument,
15288         update to be an appropriate langhook.
15289         (c_common_handle_option): Don't handle filenames.
15290         (c_common_handle_filename): New.
15291         * hooks.c (hook_void_constcharptr,
15292         hook_bool_constcharptr_size_t_false): New.
15293         * hooks.h (hook_void_constcharptr,
15294         hook_bool_constcharptr_size_t_false): New.
15295         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
15296         LANG_HOOKS_MISSING_ARGUMENT): New.
15297         (LANG_HOOKS_INITIALIZER): Update.
15298         * langhooks.h (struct lang_hooks): Add handle_filename and
15299         missing_argument.
15300         * opts.c (handle_option): Don't handle filenames here, but ...
15301         (handle_options): ... here.
15302         (common_handle_option): Don't handle missing arguments here.
15303         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
15304         LANG_HOOKS_MISSING_ARGUMENT): New.
15305
15306 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
15307
15308         * Makfile.in: Remove traces of mbchar.
15309         * c-parse.in (MULTIBYTE_CHARS): Remove.
15310         * config.in (MULTIBYTE_CHARS): Remove.
15311         * configure: Remove --enable-mbchar.
15312         * configure.in: Remove --enable-mbchar.
15313         * mbchar.c, mbchar.h: Remove.
15314         * system.h: Poison MULTIBYTE_CHARS.
15315         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
15316         * config/linux.h (MULTIBYTE_CHARS): Remove.
15317         * config/svr4.h (MULTIBYTE_CHARS): Remove.
15318         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
15319
15320 2003-07-06  Andreas Jaeger  <aj@suse.de>
15321
15322         * varray.c (varray_check_failed): Fix typo.
15323
15324         * unroll.c: Convert prototypes to ISO C90.
15325         * varasm.c: Likewise.
15326         * varray.c: Likewise.
15327         * varray.h: Likewise.
15328         * vmsdbgout.c: Likewise.
15329         * xcoffout.c: Likewise.
15330         * xcoffout.h: Likewise.
15331
15332 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
15333
15334         * gcov-io.h: Add a local time stamp.
15335         (struct gcov_info): Add stamp field.
15336         (gcov_truncate): New.
15337         * coverage.c (read_counts_file): Skip the stamp.
15338         (coverage_begin_output): Write the stamp.
15339         (build_gcov_info): Declare and init the stamp.
15340         (coverage_finish): Only unlink data file, if stamp is zero.
15341         * gcov-dump.c (dump_file): Dump the stamp.
15342         * gcov.c (bbg_stamp): New.
15343         (release_structures): Clear bbg_stamp.
15344         (read_graph_file): Read stamp.
15345         (read_count_file): Check stamp.
15346         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
15347
15348 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
15349
15350         * tree.h (default_flag_random_seed): Remove.
15351         * toplev.h (local_tick): Declare.
15352         * tree.c (flag_random_seed, default_flag_random_seed): Move to
15353         toplev.c.
15354         (append_random_chars): Don't call default_flag_random_seed.
15355         * toplev.c (flag_random_seed): Define here. Set local_tick.
15356         (local_tick): Define.
15357         (randomize): New, moved from tree.c.
15358         (print_switch_values): Adjust.
15359         (toplev_main): Call randomize.
15360
15361 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
15362
15363         * tree.h (crc32_string): Declare.
15364         * tree.c (append_random_chars): Remove.
15365         (crc32_string): New.
15366         (get_file_function_name_long): Use crc32_string here.
15367
15368 2003-07-06  Andreas Jaeger  <aj@suse.de>
15369
15370         * gcc.c: Convert prototypes to ISO C90.
15371         * gcc.h: Likewise.
15372         * gcov-dump.c: Likewise.
15373         * gcov-iov.c: Likewise.
15374         * gcse.c: Likewise.
15375         * genattrtab.h: Likewise.
15376         * ggc.h: Likewise.
15377         * global.c: Likewise.
15378         * graph.c: Likewise.
15379         * graph.h: Likewise.
15380         * hosthooks.h: Likewise.
15381         * hooks.h: Likewise.
15382         * hooks.c: Likewise.
15383         * hashtable.h: Likewise.
15384         * hashtable.c: Likewise.
15385         * haifa-sched.c: Likewise.
15386         * integrate.h: Likewise.
15387         * integrate.c: Likewise.
15388         * input.h: Likewise.
15389         * ifcvt.c: Likewise.
15390         * jump.c: Likewise.
15391         * langhooks-def.h: Likewise.  Add extern to prototypes.
15392         * langhooks.c: Likewise.
15393         * langhooks.h: Likewise.
15394         * lcm.c: Likewise.
15395         * local-alloc.c: Likewise.
15396         * loop-init.c: Likewise.
15397         * loop-unroll.c: Likewise.
15398         * loop-unswitch.c: Likewise.
15399         * loop.c: Likewise.
15400         * loop.h: Likewise. Add extern to prototypes.
15401         * machmode.h: Likewise.
15402         * main.c: Likewise.
15403         * mbchar.c: Likewise.
15404         * mbchar.h: Likewise.
15405         * mkdeps.c: Likewise.
15406         * mkdeps.h: Likewise.
15407         * optabs.c: Likewise.
15408         * optabs.h: Likewise.
15409         * output.h: Likewise.
15410         * gccspec.c: Likwise.
15411         * postreload.c: Likewise.
15412         * prefix.c: Likewise.
15413         * prefix.h: Likewise.
15414         * print-rtl.c: Likewise.
15415         * print-tree.c: Likewise.
15416         * profile.c: Likewise.
15417         * read-rtl.c: Likewise.
15418         * real.c: Likewise.
15419         * real.h: Likewise.
15420         * recog.c: Likewise.
15421         * recog.h: Likewise.
15422         * reg-stack.c: Likewise.
15423         * regclass.c: Likewise.
15424         * regmove.c: Likewise.
15425         * regrename.c: Likewise.
15426         * regs.h: Likewise.
15427         * reload.c: Likewise.
15428         * reload.h: Likewise.
15429         * reload1.c: Likewise.
15430         * reorg.c: Likewise.
15431         * resource.c: Likewise.
15432         * resource.h: Likewise.
15433         * rtl-error.c: Likewise.
15434         * rtl.c: Likewise.
15435         * rtl.h: Likewise.
15436         * rtlanal.c: Likewise.
15437         * sbitmap.c: Likewise.
15438         * sbitmap.h: Likewise.
15439         * scan-decls.c: Likewise.
15440         * scan.c: Likewise.
15441         * sched-deps.c: Likewise.
15442         * sched-ebb.c: Likewise.
15443         * sched-int.h: Likewise.
15444         * sched-rgn.c: Likewise.
15445         * sched-vis.c: Likewise.
15446         * sibcall.c: Likewise.
15447         * simplify-rtx.c: Likewise.
15448         * sreal.c: Likewise.
15449         * sreal.h: Likewise.
15450         * ssa-ccp.c: Likewise.
15451         * ssa-dce.c: Likewise.
15452         * ssa.c: Likewise.
15453         * ssa.h: Likewise.
15454         * stack.h: Likewise.
15455         * stmt.c: Likewise.
15456         * stor-layout.c: Likewise.
15457         * stringpool.c: Likewise.
15458         * target.h: Likewise.
15459         * timevar.c: Likewise.
15460         * timevar.h: Likewise.
15461         * tlink.c: Likewise.
15462         * tracer.c: Likewise.
15463         * tree-inline.c: Likewise.
15464         * tree-inline.h: Likewise.
15465         * tree.c: Likewise.
15466         * tree.h: Likewise.
15467
15468 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
15469
15470         * combine.c (nonzero_bits1): Fix a warning.
15471
15472 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
15473
15474         * config/h8300/h8300.c (compute_mov_length): Correct the
15475         length of loading CONST0_RTX (SFmode).
15476
15477 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
15478
15479         * toplev.c (output_clean_symbol_name): Remove.
15480         * toplev.h (output_clean_symbol_name): Remove.
15481         * config/alpha/alpha.c (unicosmk_output_module_name): Use
15482         lbasename & clean_symbol_name.
15483
15484 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
15485
15486         * ggc.h: Follow spelling conventions.
15487         * config/i386/i386.c: Likewise.
15488         * config/i386/winnt.c: Likewise.
15489         * config/rs6000/rs6000.c: Likewise.
15490
15491 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
15492
15493         * bt-load.c: Fix comment typos.
15494         * c-incpath.c: Likewise.
15495         * cfg.c: Likewise.
15496         * cfgcleanup.c: Likewise.
15497         * cfgloop.h: Likewise.
15498         * cfgloopmanip.c: Likewise.
15499         * cfgrtl.c: Likewise.
15500         * diagnostic.h: Likewise.
15501         * dwarfout.c: Likewise.
15502         * emit-rtl.c: Likewise.
15503         * et-forest.c: Likewise.
15504         * et-forest.h: Likewise.
15505         * expr.c: Likewise.
15506         * gcse.c: Likewise.
15507         * genattr.c: Likewise.
15508         * jump.c: Likewise.
15509         * langhooks.h: Likewise.
15510         * local-alloc.c: Likewise.
15511         * loop-unroll.c: Likewise.
15512         * loop-unswitch.c: Likewise.
15513         * ra-build.c: Likewise.
15514         * regclass.c: Likewise.
15515         * regmove.c: Likewise.
15516         * rtl.def: Likewise.
15517         * rtlanal.c: Likewise.
15518         * sched-ebb.c: Likewise.
15519         * sched-rgn.c: Likewise.
15520         * simplify-rtx.c: Likewise.
15521         * ssa.c: Likewise.
15522         * tracer.c: Likewise.
15523         * tree.c: Likewise.
15524
15525 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
15526
15527         * cppcharset.c: Use the correct return type for the fallback iconv
15528         macro.
15529
15530 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15531
15532         Blame to Jan Hubicka  <jh@suse.cz>
15533         * cfglayout.c (record_effective_endpoints): Split insns before
15534         first basic block correctly.
15535
15536 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15537
15538         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
15539         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
15540         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
15541
15542 2003-07-05  Andreas Jaeger  <aj@suse.de>
15543
15544         * genattrtab.c (write_attr_get): Revert part of last patch to
15545         always write out a prototype.
15546
15547         * genemit.c (gen_split): Readd lost unused attributes in last
15548         patch.
15549
15550 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15551
15552         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
15553         different from header.
15554
15555 2003-07-05  Andreas Schwab  <schwab@suse.de>
15556
15557         * config/m68k/m68k.c: Remove code protected by CRDS.
15558         * config/m68k/m68k.md: Likewise.
15559
15560 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
15561
15562         PR driver/11417
15563         * c-opts.c (permit_fortran_options): New.
15564         (c_common_init_options): Accept fortran front end options if
15565         it looks like we might be preprocessing Fortran.
15566         (c_common_handle_option): Don't reject switch if permit_fotran_options.
15567
15568 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15569
15570         * genattr.c (internal_dfa_insn_code): Output prototype.
15571         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
15572         * genautomata.c: Likewise.
15573         * genconditions.c: Likewise.
15574         * genemit.c: Likewise.
15575         * genextract.c: Likewise.
15576         * gengenrtl.c: Likewise.
15577         * gengtype.c: Likewise.
15578         * genopinit.c: Likewise.
15579         * genoutput.c: Likewise.
15580         * genpeep.c: Likewise.
15581         * genrecog.c: Likewise.
15582
15583 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
15584
15585         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
15586         (struct cpp_options): Add narrow_charset, wide_charset,
15587         bytes_big_endian fields.  Remove EBCDIC field.
15588         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
15589
15590         * cpphash.h: Include <iconv.h> if we have it, otherwise
15591         provide a dummy definition of iconv_t.
15592         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
15593         (_cpp_valid_ucn): Update prototype.
15594         (_cpp_destroy_iconv): New prototype.
15595
15596         * doc/cpp.texi: Document character set handling.
15597         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
15598         * doc/extend.texi: Delete entire section on multiline strings.
15599         Rewrite section on __FUNCTION__ etc now that these are
15600         variables in C.
15601
15602         * cppucnid.tab, cppucnid.pl: New files.
15603         * cppucnid.h: New generated file.
15604         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
15605         (iconv_open, iconv, iconv_close): Provide dummy definitions
15606         if !HAVE_ICONV.
15607         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
15608         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
15609         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
15610         cpp_interpret_string, narrow_str_to_charconst,
15611         wide_str_to_charconst): New.
15612         (ucn_valid_in_identifier): Use a binary search through the
15613         ucnranges table defined in cppucnid.h, not a long chain of if
15614         statements.
15615         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
15616         character names are only valid in C++ and C99" to a warning.
15617         Issue the "meaning of \[uU] is different in traditional C"
15618         warning here.  Take care not to let iconv see an invalid UCS
15619         value if we get a malformed UCN.  Issue an error if we don't
15620         have iconv.
15621         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
15622         cpp_interpret_string to do the heavy lifting.
15623
15624         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
15625         narrow_charset, wide_charset fields of options structure.
15626         (cpp_destroy): Call _cpp_destroy_iconv.
15627         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
15628         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
15629         (cpp_interpret_charconst): Moved to cppcharset.c.
15630         * cpplib.c (dequote_string): Delete.
15631         (interpret_string_notranslate): New.
15632         (do_line, do_linemarker): Use interpret_string_notranslate.
15633
15634         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
15635
15636         * c-common.c (fname_string, combine_strings): Delete.
15637         * c-common.h (fname_string, combine_strings): Delete prototypes.
15638         * c-lex.c (ignore_escape_flag): Delete.
15639         (cb_ident): Use cpp_interpret_string, not lex_string.
15640         (get_nonpadding_token): New function.
15641         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
15642         Adjust calls to lex_string.  Don't write *value twice.
15643         (lex_string): Now handles string constant concatenation.
15644         Most of the work handed off to cpp_interpret_string.
15645         Call fix_string_type here.
15646         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
15647         FUNC_NAME, throughout.
15648         (OBJC_STRING): New token type.
15649         (primary:STRING): No need to call fix_string_type here.
15650         (primary:objc_string): Make that OBJC_STRING.
15651         (objc_string nonterminal): Delete.
15652         (yylexname): Delete code to handle fake string constants.
15653         (yylexstring): Delete entirely.
15654         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
15655         to handle CPP_ATSIGN.
15656
15657         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
15658         * c-opts.c (missing_arg, c_common_handle_option): Handle
15659         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
15660         (c_common_init): Set cpp_opts->bytes_big_endian, not
15661         cpp_opts->EBCDIC.  Call cpp_init_iconv.
15662         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
15663         (TARGET_EBCDIC): Delete default definition.
15664
15665         * objc/objc-act.c (build_objc_string_object): No need to
15666         handle string constant concatenation.
15667
15668 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15669
15670         * doc/install.texi: Fix typos.
15671         * doc/invoke.texi: Likewise.
15672         * doc/tm.texi: Likewise.
15673
15674 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15675
15676         * config/pa/fptr.c: Fix comment typos.
15677         * config/pa/pa-64.h: Likewise.
15678         * config/pa/pa.c: Likewise.
15679         * config/pa/pa.h: Likewise.
15680         * config/rs6000/603.md: Likewise.
15681         * config/rs6000/7xx.md: Likewise.
15682         * config/rs6000/darwin.h: Likewise.
15683         * config/rs6000/freebsd.h: Likewise.
15684         * config/rs6000/rs6000.c: Likewise.
15685         * config/rs6000/rs6000.md: Likewise.
15686         * config/rs6000/spe.h: Likewise.
15687
15688 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
15689
15690         * config/s390/2064.md: Change GNU CC to GCC.
15691         * config/s390/2084.md: Likewise.
15692         * config/s390/fixdfdi.h: Likewise.
15693         * config/s390/linux.h: Likewise.
15694         * config/s390/s390-modes.def: Likewise.
15695         * config/s390/s390-protos.h: Likewise.
15696         * config/s390/s390.c: Likewise.
15697         * config/s390/s390.h: Likewise.
15698         * config/s390/s390.md: Likewise.
15699         * config/s390/s390x.h: Likewise.
15700
15701 2003-07-04  Jeff Law  <law@redhat.com>
15702
15703         PR c/11428
15704         * expr.c (do_store_flag): Pass in the correct result type
15705         when calling fold_single_bit_test.
15706         * fold-const.c (fold_single_bit_test): Use result_type for the
15707         result when folding a sign bit test.
15708
15709 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
15710
15711         * opts.c (common_handle_options): Negate sense of -falign- switches.
15712
15713 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
15714
15715         * Makefile.in: Replace PWD with PWD_COMMAND.
15716
15717 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15718
15719         * cfgloopanal.c (count_strange_loop_iterations): New static function.
15720         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
15721         Handle strange loops.
15722
15723 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
15724
15725         * install.texi: Even the g77 manpage is derived from
15726         the full g77 manual.
15727
15728 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
15729
15730         * ABOUT-NLS: Delete.
15731         * intl: Delete entire directory.
15732         * aclocal.m4: Include ../config/gettext.m4.  Delete
15733         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
15734         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
15735         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
15736         Remove intl/Makefile from all_outputs.
15737         * configure, config.in: Regenerate.
15738         * Makefile.in: Expunge all references to intl subdirectory.
15739         Add -I../intl to INCLUDES.
15740         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
15741
15742 2003-07-04  Roger Sayle  <roger@eyesopen.com>
15743
15744         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
15745         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
15746
15747 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
15748
15749         PR c++/5287, PR c++/7910, PR c++/11021
15750         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
15751         dllimport attribute if function is defined at declaration, but
15752         report error instead. Likewise for dllimport'd variable
15753         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
15754         declared within functions, Report error if dllimport or dllexport
15755         symbol is not global.
15756         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
15757         if defined after declaration or if inlined. Don't allow definition
15758         of static data members of C++ classes. Don't dllimport virtual
15759         methods.
15760         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
15761         (i386_pe_mark_dllimport): Remove unnecessary checks.
15762         (i386_pe_encode_section_info): Warn if the dllimport attribute
15763         and symbol prefix have been instantiated and then overridden.
15764
15765         * doc/extend.texi: Document dllimport and dllexport attributes.
15766
15767         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
15768
15769 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
15770
15771         * config/kaos.h (CPP_PREDEFINES): Delete.
15772         (TARGET_OS_CPP_BUILTINS): New.
15773
15774 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15775
15776         * c-aux-info.c: Include toplev.h after c-tree.h.
15777         * c-common.c: Likewise.
15778         (GCC_DIAG_STYLE): Undef.
15779         * c-semantics.c (GCC_DIAG_STYLE): Define.
15780         * c-tree.h (GCC_DIAG_STYLE): Likewise.
15781         * diagnostic.h (inform): Move prototype to toplev.h.
15782         * jump.c: Include diagnostic.h before toplev.h.
15783         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
15784         (warning, error, fatal_error, pedwarn, sorry, inform,
15785         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
15786
15787 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15788
15789         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
15790         at all if edge is not specified.
15791         (can_copy_bbs_p, copy_bbs): New.
15792         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
15793         * cfgloop.c (get_loop_body): Comment more precisely.
15794         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
15795         (scale_bbs_frequencies): Fix comment typo.
15796         (can_duplicate_loop_p): Use can_copy_bbs_p.
15797         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
15798
15799 2003-07-03  Devang Patel <dpatel@apple.com>
15800
15801         * c-opts.c (c_common_parse_file): Remove extra
15802         debug_hooks->start_source_file call.
15803
15804 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15805
15806         * real.c (real_trunc, real_floor, real_ceil): New functions
15807         to implement trunc, floor and ceil respectively.
15808         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
15809         * builtins.c (integer_valued_real_p): New function to test if
15810         a floating point expression has an integer valued result.
15811         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
15812         foo(x) where foo is an integer rounding function.  Similarly,
15813         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
15814         (double)(int)x when both foo and bar are integer rounding
15815         functions and we don't need to honor errno.
15816         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
15817         New functions to fold trunc, floor and ceil.
15818         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
15819         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
15820         to fold BUILT_IN_CEIL*.
15821         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
15822         the remaining integer rounding functions.
15823
15824 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15825
15826         * config/sparc/sparc.c (function_arg_partial_nregs): Use
15827         SPARC_INT_ARG_MAX to determine where to split unnamed
15828         complex FP arguments.
15829
15830 2003-07-03  Jan Hubicka  <jh@suse.cz>
15831
15832         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
15833         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
15834         (merge_blocks_move_predecessor_nojumps,
15835          merge_blocks_move_successor_nojumps): Use merge_blocks.
15836         (try_optimize_cfg): Use merge_blocks_move.
15837         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
15838         (merge_blocks_nomove): Rename to rtl_merge_blocks.
15839         (cfg_layout_create_basic_block): New.
15840         (rtl_can_merge_blocks): New.
15841         (cfg_layout_split_block): Do not alloc aux by hand.
15842         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
15843         merge_blocks.
15844         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
15845         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
15846         * cfgloopmanip.c (loop_split_edge_with): Likewise.
15847         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
15848
15849         * basic-block.h (basic_block_def): Add field 'rbi'.
15850         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
15851         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
15852         * cfg.c (entry_exit_blocks): Add new field.
15853         * cfglayout.c: Include alloc-pool.h;
15854         (cfg_layout_pool): New.
15855         (record_effective_endpoints, fixup_reorder_chain,
15856         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
15857         of rbi.
15858         (cfg_layout_initialize_rbi): New function.
15859         (cfg_layout_initialize): Use it.
15860         (cfg_layout_finalize): Clear rbi fields.
15861         * cfglayout.h (RBI): Kill.
15862         (cfg_layout_initialize_rbi): Declare.
15863         * cfgloopmanip.c (copy_bbs): Use rbi.
15864         (record_exit_edges): Likewise.
15865         (duplicate_loop_to_header_edge): Likewise.
15866         * cfgrtl.c (cfg_layout_create_basic_block): Use
15867         cfg_layout_initialize_rbi.
15868         (cfg_layout_split_block): Use rbi.
15869         (cfg_layout_delete_block): Likewise.
15870         * loop-init.c (loop_optimizer_finalize): Likewise.
15871         * loop-unswitch.c (unswitch_loop): Likewise.
15872         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
15873
15874         * cfgrtl.c: Update comments.
15875         (try_redirect_by_replacing_jump): New argument.
15876         (redirect_branch_edge): Break out from ...
15877         (rtl_redirect_edge_and_branch): ... this one.
15878         (update_cfg_after_block_merging): Break out from ...
15879         (rtl_merge_blocks): ... this one.
15880         (cfg_layout_split_edge): New.
15881         (cfg_layout_merge_blocks): New.
15882         (cfg_layout_can_merge_blocks_p): New.
15883         (cfg_layout_redirect_edge_and_branch): Reorganize.
15884         (cfg_layout_rtl_cfg_hooks): Fill in.
15885         (cfg_layout_delete_block): Kill barriers.
15886         * cfganal.c (can_fallthru): Deal with exit blocks
15887         * cfglayout.c (cfg_layout_function_header): New function
15888         (record_effective_endpoints): Record function header.
15889         (fixup_reorder_chain): Fixup dead jumptables; place header
15890
15891         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
15892         * bb-reorder.c (cfg_layout_initialize): Update call.
15893         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
15894         edges in cfglayout mode.
15895         * cfglayout.c (cleanup_unconditional_jumps): Kill.
15896         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
15897         * cfglayout.h (cfg_layout_initialize): Update prototype.
15898         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
15899         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
15900         * flow.c (propagate_block): Do not crash when basic block ends
15901         by first insn in the chain.
15902         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
15903         do loop discovery.
15904         * tracer.c (tracer): Update call of cfg_layout_initialize.
15905
15906 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15907
15908         * Makefile.in: Use dependency variables in lieu of explicit
15909         files throughout.
15910
15911 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
15912
15913         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
15914         * tree.h: ...to here.
15915
15916 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15917
15918         * config/s390/2064.md: Fix comment typos.
15919         * config/s390/2084.md: Likewise.
15920         * config/s390/s390.c: Likewise.
15921         * config/s390/s390.md: Likewise.
15922         * config/sh/sh.c: Likewise.
15923         * config/sh/sh.h: Likewise.
15924         * config/sh/sh.md: Likewise.
15925         * config/sparc/sparc.c: Likewise.
15926         * config/sparc/sparc.h: Likewise.
15927         * config/sparc/sparc.md: Likewise.
15928         * config/stormy16/stormy16.c: Likewise.
15929         * config/stormy16/stormy16.h: Likewise.
15930         * config/stormy16/stormy-abi: Fix a typo.
15931
15932 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
15933
15934         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15935
15936 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15937
15938         * config/mips/mips.h (save_argv): Delete.
15939
15940 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15941
15942         PR target/10700
15943         * fold-const.c (extract_muldiv_1): There's nothing that can be done
15944         if the expression is a SAVE_EXPR.
15945
15946 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15947
15948         * config/m32r/m32r.c: Fix comment typos.
15949         * config/m68hc11/m68hc11.c: Likewise.
15950         * config/m68hc11/m68hc11.h: Likewise.
15951         * config/m68k/m68k.c: Likewise.
15952         * config/mcore/mcore.c: Likewise.
15953         * config/mcore/mcore.h: Likewise.
15954         * config/mcore/mcore.md: Likewise.
15955         * config/mips/mips.c: Likewise.
15956         * config/mips/mips.h: Likewise.
15957         * config/mips/mips.md: Likewise.
15958         * config/mips/netbsd.h: Likewise.
15959         * config/mn10300/mn10300.c: Likewise.
15960
15961 2003-07-03  Andreas Schwab  <schwab@suse.de>
15962
15963         * dbxout.c (pending_bincls): Move decl down inside
15964         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15965
15966 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15967
15968         * rtl.h (NOTE_DATA): Refer to whole union.
15969         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15970
15971 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15972
15973         PR optimization/11381
15974         * simplify-rtx.c (simplify_relational_operation): Check that
15975         two equal operands have no side-effects before simplifying
15976         the comparison.
15977
15978 2003-07-02  Jeff Law  <law@redhat.com>
15979
15980         * expr.c (do_store_flag): Remove special case folding for
15981         single bit tests.  Instead call back into the commonized folder
15982         routine.
15983         * fold-const.c (fold_single_bit_test): New function, mostly
15984         extracted from do_store_flag, with an additional case extracted
15985         from fold.
15986         (fold): Call fold_single_bit_test appropriately.
15987         * tree.h (fold_single_bit_test): Prototype.
15988
15989 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
15990
15991         * system.h: Include filenames.h.
15992         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15993         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15994         define based on HAVE_DOS_BASED_FILE_SYSTEM.
15995         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15996         * config/i386/xm-mingw32.h: Don't define
15997         HAVE_DOS_BASED_FILE_SYSTEM,
15998         DIR_SEPARATOR, or DIR_SEPARATOR_2.
15999         * doc/hostconfig.texi: Update to match.
16000
16001         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
16002         config/i386/cygwin.h:
16003         Use IS_ABSOLUTE_PATH throughout.
16004         * gcc.c (DIR_UP): Delete, unused.
16005         * protoize.c (IS_SAME_PATH): Define in terms of
16006         FILENAME_CMP.
16007         (is_abspath): Delete.
16008
16009 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
16010
16011         * config/i386/emmintrin.h: Fix comment typos.
16012         * config/i386/i386.c: Likewise.
16013         * config/i386/i386.h: Likewise.
16014         * config/i386/sco5.h: Likewise.
16015         * config/ia64/ia64.c: Likewise.
16016         * config/ia64/itanium2.md: Likewise.
16017
16018 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
16019
16020         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
16021         DBX_USE_BINCL.
16022         (emit_bincl_stab): Same.
16023         (emit_pending_bincls): Same.
16024
16025 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
16026
16027         * config/h8300/h8300.c (compute_mov_length): Fix the length of
16028         loading CONST0_RTX (SFmode).
16029         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
16030         'G' to CONST0_RTX (SFmode).
16031         * config/h8300/h8300.md (movsf_h8300): Change the first
16032         constraint to 'G'.
16033         (movsf_h8300h): Likewise.
16034
16035 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
16036
16037         * c-common.h (c_common_init_options): New prototype.
16038         * c-opts.c (deferred_size): Remove.
16039         (defer_opt): Array is now pre-allocated.
16040         (c_common_init_options): Pre-allocate deferred_opts.  Make
16041         lang_flags unsigned.
16042         (push_command_line_options): Free deferred_opts.
16043         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
16044         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
16045         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
16046         * langhooks.h (struct lang_hooks): New prototype for init_options.
16047         * main.c (main): Cast argv.
16048         * opts.c (handle_option, handle_options): Update prototypes.
16049         (decode_options): save_argc, save_argv are not global.  Constify.
16050         * opts.h (decode_options): New prototype.
16051         * toplev.c (general_init): New protoype.
16052         (save_argv): Make static.
16053         (save_argc): Remove.
16054         (print_switch_values, general_init): Constify.
16055         (toplev_main): Save argv.
16056         * toplev.h (toplev_main): Update prototype.
16057         (save_argc, save_argv): Remove.
16058
16059 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
16060
16061         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
16062         (emit_bincl_stab): Same.
16063         (emit_pending_bincls): Same.
16064
16065 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
16066
16067         PR c++/11072
16068         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
16069
16070 2003-07-02  Andreas Schwab  <schwab@suse.de>
16071
16072         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
16073
16074 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
16075
16076         PR optimization/11210
16077         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
16078         about the behaviour with regard to bitfields.
16079         * fold-const (decode_field_reference): Record outermost type in
16080         case the expression is a NOP. Strip all NOPs. Set the signedness
16081         to that of the outermost type (if any) when the bitsize is equal
16082         to the size of the type.
16083
16084 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
16085
16086         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
16087         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
16088         (adddi3_internal_3, addsi3_internal_2): Likewise.
16089
16090 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
16091
16092         * config/mips/mips.c (machine_function): Add new fields:
16093         ignore_hazard_length_p and all_noreorder_p.
16094         (mips_flag_delayed_branch): New variable.
16095         (override_options): Treat '/' as an operand punctuation character.
16096         Set up mips_flag_delayed_branch.
16097         (print_operand): Handle '/'.
16098         (mips_output_function_prologue): Put the whole function in
16099         .set noreorder and .set nomacro if all_noreorder_p is true.
16100         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
16101         (mips16_optimize_gp): Remove "first insn" parameter.
16102         (mips16_lay_out_constants): New function, split out from mips_reorg.
16103         (mips_avoid_hazard, mips_avoid_hazards): New functions.
16104         (mips_reorg): For mips16 code, call mips16_lay_out_constant
16105         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
16106         do delayed-branch scheduling followed by hazard detection.
16107         (mips_adjust_insn_length): Only account for hazards if
16108         !ignore_hazard_length_p.
16109         (mips_output_load_label): Add a nop to the o32 sequence if
16110         the target suffers from load delays.
16111         (mips_output_conditional_branch): Add %/ to the end of branches.
16112         (mips_output_division): Fill the branch delay slot with %#.
16113         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
16114         instructions.  End all other %* branches with %/.
16115         (ffssi2, ffsdi2): Fix lengths.
16116         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
16117         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
16118         (fix_truncsfsi2_macro): Likewise.
16119         (mov_lwl): Set hazard to "none".
16120         (ashldi3_internal): Fill the branch delay slot with %#.
16121         (ashrdi3_internal, lshrdi3_internal): Likewise.
16122         (exception_receiver): Explicitly set $28.
16123         (hazard_nop): New pattern.
16124
16125 2003-07-02  Jan Hubicka  <jh@suse.cz>
16126
16127         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
16128         before calling tree_inlinable_function_p.
16129
16130 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16131
16132         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
16133         <internal/stdio_core.h> too.
16134         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
16135         <internal/wchar_core.h> too.
16136         Substitute va_list uses in inline definition.
16137         * fixinc/fixincl.x: Regenerate.
16138
16139 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16140
16141         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
16142         Undef before redefinition.
16143         (LABEL_AFTER_LOC): Likewise.
16144         (DEFAULT_SIGNED_CHAR): Likewise.
16145         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
16146         Fix IRIX spelling.
16147
16148         * config/mips/iris3.h: Remove, unused.
16149         * config/mips/iris4.h: Likewise.
16150
16151         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
16152
16153         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
16154         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
16155         target_cpu_default.
16156
16157         * config/mips/iris5.h: Move explicit includes ...
16158         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
16159
16160         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
16161         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
16162         tm_defines.
16163
16164         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
16165         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
16166         target_cpu_default.
16167
16168         * config/mips/iris6.h: Fix IRIX spelling.
16169         (MULTILIB_DEFAULTS): Undef before redefinition.
16170
16171         * config/mips/iris6.h: Move explicit includes ...
16172         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
16173
16174 2003-07-02  Jan Hubicka  <jh@suse.cz>
16175
16176         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
16177         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
16178         Use next_needed field instead of aux to maintain the queue.
16179         * cgraph.h (cgraph_node): Add next_needed.
16180         (cgraph_varpool_node): Add next_needed; remove aux.
16181         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
16182
16183 2003-07-02  Jan Hubicka  <jh@suse.cz>
16184
16185         * cgraphunit.c (cgraph_finalize_function): Set finalized.
16186         (cgraph_finalize_function): Do not examine inlinablility.
16187         (cgraph_finalize_compilation_unit): Do it here.
16188         * cgraph.h (cgraph_local_info): Add finalized field.
16189
16190 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16191
16192         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
16193         (gt_pch_restore): Likewise.
16194
16195 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
16196
16197         * config/alpha/alpha.c: Fix comment typos.
16198         * config/alpha/elf.h: Likewise.
16199         * config/arm/arm.c: Likewise.
16200         * config/arm/arm.h: Likewise.
16201         * config/arm/arm.md: Likewise.
16202         * config/arm/t-arm-coff: Likewise.
16203         * config/arm/t-strongarm-pe: Likewise.
16204         * config/arm/xscale-elf.h: Likewise.
16205         * config/avr/avr.h: Likewise.
16206
16207 2003-07-01  Jeff Law  <law@redhat.com>
16208
16209         * stmt.c (any_pending_cleanups): Remove another redundant test.
16210
16211 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
16212             J"orn Rennecke <joern.rennecke@superh.com>
16213
16214         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
16215         for MEM case.
16216
16217 2003-07-01  Devang Patel  <dpatel@apple.com>
16218
16219         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
16220         (binclstatus): New.
16221         (struct dbx_file): New members - bincl_status, pending_bincl_name and
16222         prev.
16223         (pending_bincls): New.
16224         (dbxout_init): Initialize new dbx_file members.
16225         (dbxout_start_source_file): Same.
16226         (emit_bincl_stab): New function.
16227         (emit_pending_bincls): Same.
16228         (emit_pending_bincls_if_required): Same.
16229         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
16230         processed.
16231         (dbxout_begin_block): Emit pending BINCL stabs.
16232         (dbxout_end_block): Same.
16233         (dbxout_function_decl): Same.
16234         (dbxout_continue): Same.
16235         (dbxout_type): Same.
16236         (dbxout_class_name_qualifiers): Same.
16237         (dbxout_symbol): Same.
16238         (dbxout_symbol_location): Same.
16239         (dbxout_parms): Same.
16240
16241 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16242
16243         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
16244         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
16245
16246 2003-07-01  Andreas Jaeger  <aj@suse.de>
16247
16248         * fold-const.c: Convert prototypes to ISO C90.
16249         * function.c: Likewise.
16250         * function.h: Likewise.
16251
16252 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
16253
16254         * doc/contrib.texi: Fix typos.
16255         * doc/invoke.texi: Likewise.
16256         * doc/passes.texi: Likewise.
16257         * doc/sourcebuild.texi: Likewise.
16258         * doc/tm.texi: Likewise.
16259
16260 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
16261
16262         * basic-block.h: Fix comment typos.
16263         * bb-reorder.c: Likewise.
16264         * c-format.c: Likewise.
16265         * cfgcleanup.c: Likewise.
16266         * cfghooks.h: Likewise.
16267         * cfgloop.c: Likewise.
16268         * cfgloopmanip.c: Likewise.
16269         * cfgrtl.c: Likewise.
16270         * cgraph.h: Likewise.
16271         * cgraphunit.c: Likewise.
16272         * combine.c: Likewise.
16273         * convert.c: Likewise.
16274         * dbxout.c: Likewise.
16275         * df.c: Likewise.
16276         * df.h: Likewise.
16277         * diagnostic.c: Likewise.
16278         * dwarf2out.c: Likewise.
16279         * et-forest.h: Likewise.
16280         * flow.c: Likewise.
16281         * fold-const.c: Likewise.
16282         * function.h: Likewise.
16283         * gcov-io.h: Likewise.
16284         * gcov.c: Likewise.
16285         * gcse.c: Likewise.
16286         * genautomata.c: Likewise.
16287         * ggc-common.c: Likewise.
16288         * ggc-page.c: Likewise.
16289         * loop-unroll.c: Likewise.
16290         * loop-unswitch.c: Likewise.
16291         * loop.c: Likewise.
16292         * mips-tfile.c: Likewise.
16293         * optabs.c: Likewise.
16294         * ra-build.c: Likewise.
16295         * ra-colorize.c: Likewise.
16296         * ra-rewrite.c: Likewise.
16297         * ra.h: Likewise.
16298         * regmove.c: Likewise.
16299         * reload.c: Likewise.
16300         * rtlanal.c: Likewise.
16301         * sched-ebb.c: Likewise.
16302         * sched-int.h: Likewise.
16303         * sched-vis.c: Likewise.
16304         * sreal.c: Likewise.
16305         * ssa-ccp.c: Likewise.
16306         * ssa.c: Likewise.
16307         * toplev.c: Likewise.
16308         * tree-inline.c: Likewise.
16309         * value-prof.c: Likewise.
16310         * value-prof.h: Likewise.
16311
16312 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
16313
16314         * rtl.h (emit_line_note_after): Remove.
16315         (emit_note_copy_after, emit_note_copy): New.
16316         * emit-rtl.c (reorder_insns_with_line_notes): Replace
16317         emit_line_note_after with emit_note_copy_after.
16318         (emit_insn_after_with_line_notes): Likewise.
16319         (emit_line_note_after): Kill.
16320         (emit_note_copy_after): New.
16321         (emit_note_copy): New.
16322         * function.c (emit_return_into_block): Use emit_note_copy_after.
16323         (thread_prologue_and_epilogue_insns): Likewise.
16324         * integrate.c (expand_inline_function): Use emit_note_copy.
16325         (copy_insn_list): Likewise.
16326         * unroll.c (copy_loop_body): Likewise.
16327         * cfglayout.c (duplicate_insn_chain): Likewise.
16328
16329 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
16330
16331         * c-tree.h (define_label): Replace filename and lineno arguments
16332         with a location_t.
16333         * c-decl.c (poplevel): Adjust define_label call.
16334         (pop_label_level): Likewise.
16335         (define_label): Replace filename and lineno arguments with a
16336         location_t.
16337         (store_parm_decls): Use DECL_SOURCE_LOCATION.
16338         * c-parse.in (label): Adjust define_label call.
16339
16340 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
16341
16342         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
16343         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
16344         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
16345         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
16346         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
16347
16348 2003-07-01  Andreas Jaeger  <aj@suse.de>
16349
16350         * final.c: Convert prototypes to ISO C90.
16351         * flow.c: Likewise.
16352         * flags.h: Likewise.
16353         * gcov-io.c: Likewise.
16354         * gcov-io.h: Likewise.
16355
16356 See ChangeLog.9 for earlier changes.