"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "gcc-4.1-20080630/gcc/ChangeLog-2003" of archive gcc-4.1-20080630.tar.gz:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 2003-12-31 Jan Hubicka <jh@suse.cz>
2
3 PR opt/13473
4 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
5 ASM input operands
6
7 PR opt/12617
8 * toplev.c (dump_file_index): Reorder ce3 and bbro.
9 (dump_file): Likewise.
10 (rest_of_compilation): Likewise.
11
12 PR debug/13367
13 * cgraph.c (cgraph_function_possibly_inlined): Even with
14 flag_really_no_inline we inline always_inline functions.
15 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
16 for non-always_inline functions when there is flag_really_no_inline.
17 (cgraph_decide_inlining): Limit work done when not inlining.
18 (cgraph_decide_inlining_incrementally): Likewise.
19 (cgraph_optimize_function): Check whether something got inlined.
20 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
21 extern inline functions when not inlining.
22
23 * opts.c (decode_options): Disable crossjumping at -O1
24 * invoke.texi (-O1): Document change.
25
26 2003-12-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
27
28 * print-rtl.c (print_rtx): For hard register, write out register
29 number and register name instead of calling PRINT_REG.
30 * defaults.h (PRINT_REG): Deleted.
31 * config/i386/i386.c (print_reg): Remove handling of CODE of -1.
32 Move comments here from i386.h.
33 (print_operand, print_operand_address): Call print_reg directly.
34 * config/i386/i386.h (PRINT_REG): Deleted.
35
36 2003-12-31 Roger Sayle <roger@eyesopen.com>
37
38 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define
39 _INCLUDE_LONGLONG.
40
41 2003-12-31 Zack Weinberg <zack@codesourcery.com>
42
43 * gcc.c (init_spec): Add -lunwind to shared case too if
44 USE_LIBUNWIND_EXCEPTIONS.
45
46 2003-12-31 Joseph S. Myers <jsm@polyomino.org.uk>
47
48 * doc/include/texinfo.tex: Update to version 2003-12-21.10.
49 * doc/gcc.texi, doc/gccint.texi: Don't set font for
50 @def... commands.
51 * doc/invoke.texi: Don't use empty @opindex.
52
53 2003-12-31 Mark Mitchell <mark@codesourcery.com>
54
55 * c-common.c (c_expand_expr): Remove code to return a value
56 different from that returned by expand_expr.
57 * expr.c (store_expr): Use the validity of a target MEM, rather
58 than checking DECL_RTL (exp), to figure out if a copy is
59 required.
60
61 2003-12-31 Kazu Hirata <kazu@cs.umass.edu>
62
63 * config/v850/lib1funcs.asm: Fix comment formatting.
64 * config/v850/v850.c: Likewise.
65 * config/v850/v850.h: Likewise.
66 * config/v850/v850.md: Likewise.
67
68 2003-12-31 Kazu Hirata <kazu@cs.umass.edu>
69
70 * config/i386/i386.md (*movqi_insv_2): Remove AND in the
71 set source.
72
73 2003-12-31 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
74
75 * config.gcc: Added m32r-linux m32rle-elf and m32le-linux targets.
76 * doc/invoke.texi: Document -mflush-func, -mflush-trap options.
77 Also add documentation for -mdebug, -malign-loops, -missue-rate,
78 and -mbranch-cost options.
79 * config/m32r/t-linux: New file: m32r-linux support.
80 * config/m32r/xm-linux.h: Likewise.
81 * config/m32r/xm-m32r.h: Likewise.
82 * config/m32r/linux.h: Likewise.
83 * config/m32r/little.h: New file: Little endian code generation
84 support.
85 * config/m32r/m32r-protos.h (m32r_legitimize_pic_address,
86 m32r_legitimate_pic_operand_p, load_pic_register): Add
87 prototypes.
88 * config/m32r/m32r.c (m32r_init): Add options for cache-flush.
89 (addr24_operand): Changes for PIC code generation.
90 * config/m32r/m32r.h (LABEL_ALIGN): Define to calculate PNOP
91 length at labels.
92 (ASM_SPEC): Add PIC support.
93 (FUNCTION_PROFILER): New define.
94 (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed to support
95 trampoline.
96 (CONDITIONAL_REGISTER_USAGE, CONSTANT_ADDRESS_P,
97 LEGITIMIZE_ADDRESS, JUMP_TABLES_IN_TEXT_SECTION,
98 PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC, LEGITIMATE_PIC_OPERAND_P,
99 ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE): Define for PIC.
100 (move_src_operand, m32r_compute_frame_size, m32r_expand_prologue,
101 m32r_finalize_pic): Changes for PIC and profile support.
102 (global_offset_table, load_pic_register, m32r_legitimate_pic_operand_p,
103 m32r_legitimize_pic_address): Add for PIC support.
104 (m32r_file_start): Changed for little-endian-target.
105 * config/m32r/m32r.md (mvqi, movhi, movsi, movdi, movsf, movdf,
106 tablejump, tablejump_insn, call, call_value, call_value_via_label):
107 Changes for PIC.
108 (pic_load_addr, get_pc, builtin_setjmp_receiver): Added for PIC.
109 (flush_icache): Changes for cache-flush trap.
110
111 2003-12-30 Kazu Hirata <kazu@cs.umass.edu>
112
113 * config/i386/i386.h: Remove an unnecessary #undef.
114
115 2003-12-30 Roger Sayle <roger@eyesopen.com>
116
117 * cppfiles.c (pch_open_file): Minor tweak to work-around native
118 HPPA compiler bug.
119
120 2003-12-30 Kazu Hirata <kazu@cs.umass.edu>
121
122 * config/rs6000/aix.h: Fix comment formatting.
123 * config/rs6000/rs6000-modes.def: Likewise.
124 * config/rs6000/rs6000.c: Likewise.
125 * config/rs6000/rs6000.h: Likewise.
126 * config/rs6000/rs6000.md: Likewise.
127
128 2003-12-30 Kazu Hirata <kazu@cs.umass.edu>
129
130 * config/i386/i386-protos.h: Remove prototype for
131 const_int_1_operand.
132 * config/i386/i386.c (const_int_1_operand): Remove.
133 * config/i386/i386.h (PREDICATE_CODES): Remove
134 const_int_1_operand.
135 * config/i386/i386.md: Replace all uses of const_int_1_operand
136 with const1_operand.
137 * config/i386/pentium.md: Likewise.
138
139 2003-12-30 Geoffrey Keating <geoffk@greed.local>
140
141 * doc/tm.texi (PREFERRED_RELOAD_CLASS): Describe use of NO_REGS
142 with constants.
143
144 2003-12-30 Mark Mitchell <mark@codesourcery.com>
145
146 * stor-layout.c (layout_decl): Turn bitfields into ordinary
147 fields, even if they are the first field in a structure.
148
149 2003-12-30 Roger Sayle <roger@eyesopen.com>
150
151 * fold-const.c (fold) <COND_EXPR>: Don't require strict type
152 equality, instead just prevent replacing a COND_EXPR of non-void
153 type by one of its operands of void type.
154
155 2003-12-30 Andreas Schwab <schwab@suse.de>
156
157 * doc/c-tree.texi: Fix @item vs. @itemx.
158 * doc/cpp.texi: Likewise.
159 * doc/install.texi: Likewise.
160 * doc/invoke.texi: Likewise.
161
162 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
163
164 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
165 change.
166
167 2003-12-30 Jan Hubicka <jh@suse.cz>
168
169 PR target/11936
170 * i386.h (CLASS_LIKELY_SPILLED_P): Return true for
171 FP_TOP_REG/FP_SECOND_REG.
172
173 2003-12-30 Steven Bosscher <steven@gcc.gnu.org>
174
175 Backport from tree-ssa (relevant changes only):
176 2003-12-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
177
178 * et-forest.h (et_forest_create, et_forest_delete,
179 et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
180 et_forest_remove_edge, et_forest_parent,
181 et_forest_common_ancestor, et_forest_node_value,
182 et_forest_enumerate_sons): Declarations removed.
183 (struct et_node): New.
184 (et_new_tree, et_free_tree, et_set_father, et_split, et_nca,
185 et_below): Declare.
186 * et-forest.c (struct et_forest_occurrence, struct et_forest,
187 struct et_forest_node): Removed.
188 (et_forest_create, et_forest_delete,
189 et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
190 et_forest_remove_edge, et_forest_parent,
191 et_forest_common_ancestor, et_forest_node_value,
192 et_forest_enumerate_sons, splay, remove_all_occurrences,
193 find_leftmost_node, find_rightmost_node, calculate_value): Removed.
194 (struct et_occ): New.
195 (et_nodes, et_occurences): New.
196 (set_depth, set_depth_add, set_prev, set_next, et_recomp_min,
197 et_check_occ_sanity, et_check_sanity, et_check_tree_sanity,
198 record_path_before_1, record_path_before, check_path_after_1,
199 check_path_after, et_splay, et_new_occ, et_new_tree,
200 et_free_tree, et_set_father, et_split, et_nca, et_below): New.
201 * basic-block.h (struct basic_block_def): New field dom.
202 (struct dominance_info): Type removed.
203 (calculate_dominance_info, free_dominance_info,
204 nearest_common_dominator, set_immediate_dominator,
205 get_immediate_dominator, dominated_by_p, get_dominated_by,
206 add_to_dominance_info, delete_from_dominance_info,
207 recount_dominator, redirect_immediate_dominators,
208 iterate_fix_dominators, verify_dominators): Declarations
209 changed.
210 (enum dom_state): New.
211 (dom_computed): New variable.
212 (first_dom_son, next_dom_son): Declare.
213 * dominance.c (struct dominance_info): Removed.
214 (BB_NODE, SET_BB_NODE): Removed.
215 (calculate_dominance_info, free_dominance_info,
216 nearest_common_dominator, set_immediate_dominator,
217 get_immediate_dominator, dominated_by_p, get_dominated_by,
218 add_to_dominance_info, delete_from_dominance_info,
219 recount_dominator, redirect_immediate_dominators,
220 iterate_fix_dominators, verify_dominators,
221 debug_dominance_info): Work over new datastructure. Access
222 dominance datastructures through CFG.
223 (assign_dfs_numbers, compute_dom_fast_query, first_dom_son,
224 next_dom_son): New.
225 * bt-load.c (dom): Variable removed.
226 (augment_live_range, combine_btr_defs, migrate_btr_def,
227 migrate_btr_defs, branch_target_load_optimize): Updated for the
228 new interface for dominance information.
229 * cfg.c {exit_entry_blocks): Update initializer.
230 * cfglayout.c (copy_bbs): Removed loops argument. Updated for
231 the new interface for dominance information.
232 * cfglayout.h (copy_bbs): Declaration changed.
233 * cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump,
234 flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated
235 for the new interface for dominance information.
236 (flow_loop_scan): Loops argument removed.
237 (flow_loops_free): Don't release dominators.
238 * cfgloop.h (struct cfg): Dom field removed.
239 (flow_loop_scan, loop_split_edge_with, simple_loop_p,
240 just_once_each_iteration_p, split_loop_bb): Declaration changed.
241 * cfgloopanal.c (simple_loop_exit_p, simple_increment,
242 just_once_each_iteration_p, simple_loop_p): Remove loops argument.
243 Updated for the new interface for dominance information.
244 * cfgloopmanip.c (remove_bbs, find_path, create_preheader,
245 split_loop_bb, loopify, duplicate_loop_to_header_edge,
246 force_single_succ_latches, loop_split_edge_with): Ditto.
247 * gcse.c (dominators): Variable removed.
248 (free_code_hoist_mem, compute_code_hoist_data, hoist_code):
249 Updated for the new interface for dominance information.
250 * ifcvt.c (post_dominators): Variable removed.
251 (mark_loop_exit_edges, merge_if_block, find_if_header,
252 find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
253 Updated for the new interface for dominance information.
254 * loop-init.c (rtl_loop_optimizer_init,
255 rtl_loop_optimizer_finalize): Ditto.
256 * loop-unroll.c (decide_peel_simple, decide_peel_once_rolling,
257 decide_peel_completely, decide_unroll_stupid,
258 decide_unroll_constant_iterations,
259 decide_unroll_runtime_iterations): Loops argument removed.
260 Updated for the new interface for dominance information.
261 (unroll_and_peel_loops, peel_loops_completely,
262 unroll_loop_runtime_iterations): Updated for the new interface for
263 dominance information.
264 * loop-unswitch.c (may_unswitch_on_p, unswitch_loops,
265 unswitch_single_loop, unswitch_loop): Updated for the new
266 interface for dominance information.
267 * predict.c (process_note_predictions, process_note_prediction,
268 estimate_probability, note_prediction_to_br_prob): Ditto.
269 * sched-rgn.c (find_rgns, init_regions): Ditto.
270 * toplev.c (rest_of_handle_branch_prob): Free the dominators.
271
272 2003-12-30 Jan Hubicka <jh@suse.cz>
273
274 PR target/13456
275 * i386.md (allocate_stack_worker): Use different pattern for pre and
276 post reload expansion.
277 (allocate_stack_worker_1, allocate_stack_worker_rex64): Use
278 match_scratch.
279 (allocate_stack_worder_1_postreload,
280 allocate_stack_worker_rex64_postreload): New.
281
282 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
283
284 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
285 to the virtual incoming args pointer for downward stacks.
286
287 2003-12-29 Roger Sayle <roger@eyesopen.com>
288
289 PR fortran/12632
290 * fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
291 if the type of the selected branch doesn't match its' parent.
292
293 2003-12-29 Jan Hubicka <jh@suse.cz>
294
295 * coverage.c (read_counts_file): Better error messages; cause corrupted
296 profiles to produce hard errors, not just warnings
297 (get_coverage_counts): Similarly.
298
299 * toplev.c (rest_of_handle_loop_optimize): Enable LOOP_AUTO_UNROLL.
300
301 2003-12-29 Phil Edwards <phil@codesourcery.com>
302
303 * doc/cppopts.texi: Use of -idirafter, -iprefix, -iwithprefix, and
304 -iwithprefixbefore is not discouraged.
305
306 2003-12-28 Mostafa Hagog <mustafa@il.ibm.com>
307
308 * sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
309 sbitmap_a_xor_b_cg): Accumulate "changed" properly.
310 (sbitmap_not): Zero all bits past n_bit.
311
312 2003-12-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
313
314 PR opt/13159
315 * cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
316 components detection.
317 * loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
318
319 2003-12-27 Bernardo Innocenti <bernie@develer.com>
320
321 * config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
322 correct linking of executables using id-based shared libraries.
323
324 2003-12-27 Kazu Hirata <kazu@cs.umass.edu>
325
326 * config/i386/i386-interix.h: Remove uses of "register"
327 specifier in declarations of arguments and local variables.
328 * config/i386/i386.c: Likewise.
329 * config/i386/i386elf.h: Likewise.
330 * config/i386/ptx4-i.h: Likewise.
331 * config/i386/sysv4.h: Likewise.
332
333 2003-12-26 Fariborz Jahanian <fjahanian@apple.com>
334 Geoffrey Keating <geoffk@apple.com>
335 David Edelsohn <edelsohn@gnu.org>
336
337 * config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
338 restrict DFmode and TFmode to word alignment.
339 * config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
340 for ld/std and order before mr.
341
342 2003-12-26 Andrew Pinski <pinskia@physics.uc.edu>
343
344 * config/darwin.h (LINK_COMMAND_SPEC): Arrange
345 -fprofile-generate to imply -lgcov.
346
347 2003-12-26 Kazu Hirata <kazu@cs.umass.edu>
348
349 * config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
350 addresses.
351
352 2003-12-25 Kazu Hirata <kazu@cs.umass.edu>
353
354 * config/m32r/m32r.md: Remove a constraint from a splitter.
355
356 2003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
357
358 PR C++/13429, C/11944
359 * c-common.c (c_build_qualified_type): Return early when type is
360 error_mark_node.
361 (c_apply_type_quals_to_decl): Likewise.
362
363 2003-12-25 Kazu Hirata <kazu@cs.umass.edu>
364
365 * config/alpha/alpha-modes.def: Fix comment formatting.
366 * config/alpha/alpha.c: Likewise.
367 * config/alpha/alpha.h: Likewise.
368 * config/alpha/elf.h: Likewise.
369 * config/alpha/lib1funcs.asm: Likewise.
370 * config/alpha/openbsd.h: Likewise.
371 * config/alpha/vms-cc.c: Likewise.
372 * config/alpha/vms-crt0-64.c: Likewise.
373 * config/alpha/vms-crt0.c: Likewise.
374 * config/alpha/vms-ld.c: Likewise.
375 * config/alpha/vms-psxcrt0-64.c: Likewise.
376 * config/alpha/vms-psxcrt0.c: Likewise.
377 * config/alpha/vms.h: Likewise.
378 * config/arc/arc.c: Likewise.
379 * config/arm/aof.h: Likewise.
380 * config/arm/arm-modes.def: Likewise.
381 * config/arm/arm.c: Likewise.
382 * config/arm/arm.h: Likewise.
383 * config/arm/arm.md: Likewise.
384 * config/arm/linux-elf.h: Likewise.
385 * config/arm/vxworks.h: Likewise.
386 * config/avr/avr.c: Likewise.
387 * config/avr/avr.h: Likewise.
388
389 2003-12-24 Kazu Hirata <kazu@cs.umass.edu>
390
391 * config/xtensa/elf.h: Fix comment formatting.
392 * config/xtensa/xtensa-protos.h: Likewise.
393 * config/xtensa/xtensa.c: Likewise.
394 * config/xtensa/xtensa.h: Likewise.
395
396 2003-12-24 Kazu Hirata <kazu@cs.umass.edu>
397
398 * config/avr/avr.c: Fix comment formatting.
399 * config/avr/avr.md: Likewise.
400
401 2003-12-24 Kazu Hirata <kazu@cs.umass.edu>
402
403 PR target/12721.
404 * config/avr/avr.c: Include ggc.h.
405 (tmp_reg_rtx): Declare with GTY.
406 (zero_reg_rtx): Likewise.
407 (ldi_reg_rtx): Remove.
408 (avr_override_options): Initialize zero_reg_rtx and
409 ldi_reg_rtx.
410 (avr_init): Remove.
411 Include gt-avr.h.
412 * config/avr/avr.h (LDI_REG_REGNO): Remove.
413 Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
414
415 2003-12-24 David Edelsohn <edelsohn@gnu.org>
416
417 * doc/md.texi: Document PowerPC vector register constraint letter.
418
419 2003-12-23 Mark Mitchell <mark@codesourcery.com>
420
421 * calls.c (expand_call): Recognize calls to "sqrt" and create
422 corresponding notes.
423
424 2003-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
425
426 * config/mips/mips.c (override_options): Use `inform' instead
427 of `warning' for -g -mabi=32 and native assembler.
428
429 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
430 Don't pass -Wno-error.
431
432 2003-12-23 David Edelsohn <edelsohn@gnu.org>
433
434 * function.c (assign_parms): Update max_parm_reg and
435 parm_reg_stack_loc when adding new parm reg.
436
437 2003-12-23 Kazu Hirata <kazu@cs.umass.edu>
438
439 * config/ns32k/ns32k.c: Convert to ISO-C.
440
441 2003-12-23 Zack Weinberg <zack@codesourcery.com>
442
443 * config/ia64/ia64.c (ia64_va_arg): Pass pointer for
444 variable-sized type through convert_memory_address.
445 (ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
446
447 2003-12-23 Jan Hubicka <jh@suse.cz>
448
449 * common.opt (fprofile-generate,fprofile-use): Add.
450 * gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
451 * opts.c (profile_arc_flag_set, flag_profile_values_set,
452 flag_unroll_loops_set, flag_tracer_set,
453 flag_value_profile_transformations_set,
454 flag_peel_loops_set): New static variables.
455 (common_handle_option): Deal with -fprofile-generate/-fprofile-use
456 * invoke.texi (-fprofile-generate, -fprofile-use): Describe.
457
458 2003-12-23 Mark Mitchell <mark@codesourcery.com>
459
460 * Makefile.in (OBJS-common): Remove dwarfout.o.
461 (dwarfout.o): Remove.
462 * common.opt: Remove -gdwarf, -gdwarf+.
463 * defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
464 DWARF_DEBUGGING_INFO.
465 * dwarf2out.c: Fix typo in comment.
466 * dwarfout.c: Remove.
467 * opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
468 * toplev.c (process_options): Remove check for
469 DWARF_DEBUGGING_INFO.
470 * config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
471 #undef it.
472 * config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
473 * config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
474 * config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
475 * config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
476 * config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
477 * config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
478 * config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
479 * config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
480 * config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
481 * config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
482 * config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
483 * config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
484 * config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
485 * doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
486 or -gdwarf+.
487 * doc/tm.texi: Likewise.
488
489 * c-common.c (flag_abi_version): Default to 2.
490 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
491 uniformly for versions above 2.
492 * doc/invoke.texi: Update documentation for -fabi-version.
493
494 2003-12-22 Geoffrey Keating <geoffk@apple.com>
495
496 * config/rs6000/rs6000.md: Change many instances of '!
497 TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
498 was guarded only because it changed CR0 or the carry bit in XER.
499
500 2003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
501
502 PR optimization/13394
503 * toplev.c (rest_of_compilation): Move call to
504 check_function_return_warnings right after the sibcall
505 optimization pass.
506
507 2003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
508
509 PR c/13382
510 * c-typeck.c (convert_for_assignment): When converting from
511 integral type to pointer type, always call convert.
512
513 2003-12-22 Mark Mitchell <mark@codesourcery.com>
514
515 * doc/invoke.texi: Deprecate -fwritable-strings.
516
517 * c-common.c (flag_external_templates): Remove.
518 (flag_alt_external_templates): Likewise.
519 * c-common.h (flag_external_templates): Remove.
520 (flag_alt_external_templates): Likewise.
521 * c-opts.c (c_common_handle_option): Unsupport
522 -falt-external-templates and -ftemplates.
523 * doc/invoke.texi: Remove mention of -fexternal-templates and
524 -falt-external-templates.
525
526 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
527
528 PR target/13466
529 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
530
531 * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
532 copy_rtx_if_shared_1.
533 (copy_rtx_if_shared_1): Add comment about what the function does.
534
535 * c-decl.c (finish_function): Change order of checks.
536 (c_expand_body): Likewise.
537
538 2003-12-22 Fariborz Jahanian <fjahanian@apple.com>
539
540 * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
541 check for the legitimate offset when memory of
542 DImode/DFmode/TFmode/TImode mode is being referenced and target
543 is TARGET_POWERPC64.
544
545 2003-12-22 Dale Johannesen <dalej@apple.com>
546
547 * reload1.c: Add reg_reloaded_call_part_clobbered.
548 (reload_as_needed): Use it.
549 (forget_old_reloads_1): Ditto.
550 (emit_reload_insns): Ditto.
551
552 2003-12-22 Dale Johannesen <dalej@apple.com>
553
554 PR optimization/12828
555 * loop.c: Add find_regs_nested to look inside CLOBBER(MEM).
556 (scan_loop): Call it.
557 * regclass.c (reg_scan_mark_regs): Look inside CLOBBER(MEM).
558
559 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
560
561 PR c/9163
562 * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
563 if it is non-null.
564 (finish_function): Check for error_mark_node or null on DECL_RESULT and
565 DECL_RESULT of fndecl.
566 (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
567 error_mark_node and not null.
568
569 2003-12-21 Dan Nicolaescu <dann@ics.uci.edu>
570
571 * rtl.h (dump_rtx_statistics): Declare it.
572 * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
573 rtx_alloc_sizes): New static vars.
574 (rtx_alloc, rtvec_alloc): Update them.
575 (dump_rtx_statistics): New function.
576 * toplev.c (finalize): Call it.
577 * ggc-page.c (struct globals): Fix comments. Add new member
578 total_allocated_per_order.
579 (ggc_alloc): Keep track of the total allocated memory.
580 (ggc_print_statistics): Clarify message. Print total allocated
581 memory stats.
582 * configure.in (gather-detailed-mem-stats): New flag.
583 * configure: Regenerate.
584 * config.in: Regenerate.
585 * doc/install.texi (Configuration): Document
586 --enable-gather-detailed-mem-stats.
587
588 2003-12-22 Kazu Hirata <kazu@cs.umass.edu>
589
590 * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
591 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
592
593 2003-12-21 Roger Sayle <roger@eyesopen.com>
594
595 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
596 when compiling in ILP32 mode.
597
598 2003-12-21 Andrew Pinski <pinskia@physics.uc.edu>
599
600 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
601 TARGET_HAVE_TLS is false.
602
603 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
604
605 * config/ip2k/ip2k-protos.h: Remove the prototype for
606 asm_output_section_name.
607 * config/ip2k/ip2k.c (asm_output_section_name): Remove.
608
609 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
610
611 * alias.c: Fix comment formatting.
612 * alloc-pool.c: Likewise.
613 * bitmap.c: Likewise.
614 * bitmap.h: Likewise.
615 * bt-load.c: Likewise.
616 * c-common.c: Likewise.
617 * c-common.h: Likewise.
618 * c-decl.c: Likewise.
619 * c-opts.c: Likewise.
620 * c-pretty-print.c: Likewise.
621 * caller-save.c: Likewise.
622 * cfghooks.h: Likewise.
623 * cgraph.c: Likewise.
624 * collect2.c: Likewise.
625 * cppfiles.c: Likewise.
626 * cpplib.h: Likewise.
627 * dwarf2out.c: Likewise.
628 * dwarfout.c: Likewise.
629 * emit-rtl.c: Likewise.
630 * final.c: Likewise.
631 * function.c: Likewise.
632 * gcov.c: Likewise.
633 * gcse.c: Likewise.
634 * genemit.c: Likewise.
635 * ggc.h: Likewise.
636 * haifa-sched.c: Likewise.
637 * ifcvt.c: Likewise.
638 * libgcc2.h: Likewise.
639 * loop.c: Likewise.
640 * predict.h: Likewise.
641 * unwind-libunwind.c: Likewise.
642 * varasm.c: Likewise.
643
644 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
645
646 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
647 a warning.
648
649 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
650
651 * config/arm/arm.c: Convert to ISO-C.
652 * config/avr/avr.h: Likewise.
653 * config/fr30/fr30.c: Likewise.
654 * config/ip2k/ip2k.c: Likewise.
655 * config/mn10300/mn10300.c: Likewise.
656
657 2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
658 Matt Thomas <matt@3am-software.com>
659
660 PR target/12749
661 * config/i386/i386.c (print_operand): Print only the first
662 8 characters of the float in hex.
663
664 2003-12-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
665
666 * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
667 2.0 code.
668 (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
669 (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
670 and end addresses to I and D cache instruction patterns.
671 * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
672 and_operand and ior_operand, respectively. When generating 64-bit
673 code, only one operand needs to be a register operand.
674 (xordi3): Change predicates of operands 1 and 2 to register_operand.
675 (one_cmpldi2): Change predicate of operand 1 to register_operand.
676 (dcacheflush, icacheflush): Revise to flush an arbitrary number of
677 cache lines.
678
679 2003-12-20 Josef Zlomek <zlomekj@suse.cz>
680
681 PR optimization/13430, PR optimization/12322
682 * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
683 be copied.
684 (find_traces_1_round): Surround check for fake edges by
685 #ifdef ENABLE_CHECKING #endif.
686
687 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
688
689 PR other/7956
690 * genmultilib: New variable disable_multilib. Set it to 'yes'
691 if enable_multilib was set to 'no'. Emit DISABLE_MULTILIB
692 if disable_multilib was set to 'yes'.
693 * gcc.c: Include multilib.h before tm.h.
694 * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
695 message for multiarch options if DISABLE_MULTILIB is set.
696 * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
697
698 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
699
700 PR c/12085
701 * c-typeck.c (build_function_call): Issue a warning if a
702 function is called through an incompatible prototype and
703 replace the call by a trap in this case.
704
705 2003-12-19 James E Wilson <wilson@specifixinc.com>
706
707 * install.texi (ia64-*-linux): Document minimum libunwind version
708 number.
709
710 2003-12-19 Per Bothner <per@bothner.com>
711
712 * langhooks.c (lhd_print_error_function): Fix for PR c/13110.
713 Don't do pp_newline; it causes an extra blank line.
714 * pretty-print.c (pp_base_flush): Clear pp_needs_newline.
715
716 2003-12-19 Jason Merrill <jason@redhat.com>
717
718 * tree.c (get_unwidened): Decide whether to narrow a bitfield
719 reference based on TYPE_SIZE, not TYPE_PRECISION.
720
721 * stmt.c (parse_output_constraint): Warn about in-out constraint
722 that doesn't allow a register.
723 (parse_input_constraint): Warn about matching constraint that
724 doesn't allow a register.
725
726 2003-12-19 James E Wilson <wilson@specifixinc.com>
727
728 * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
729 Add case for ASM_OPERANDS.
730 * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
731 registers.
732
733 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
734
735 * expr.c (check_max_integer_computation_mode): Remove.
736 * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
737 * fold-const.c (fold): Likewise.
738 * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
739 * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
740
741 2003-12-19 James E Wilson <wilson@specifixinc.com>
742
743 * configure.in: Delete libunwind_has_eh_support test.
744 * configure: Regenerate.
745 * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
746 and libunwind_has_eh_support check.
747 * config/t-libunwind-no-eh: Delete.
748
749 2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
750
751 * c-format.c (print_char_table): Allow 'I' flag on floating point
752 decimal formats.
753
754 2003-12-19 Stuart Hastings <stuart@apple.com>
755
756 * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
757 Trivial fixes for i386.c on Darwin/x86.
758
759 2003-12-19 Fariborz Jahanian <fjahanian@apple.com>
760
761 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
762 recognize macho-style lo_sum adrress patterns.
763
764 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
765
766 * dwarfout.c: Remove uses of "register" specifier in
767 declarations of arguments and local variables.
768 * gensupport.c: Likewise.
769 * local-alloc.c: Likewise.
770 * regclass.c: Likewise.
771
772 2003-12-19 Kelley Cook <kelleycook@wideopenwest.com>
773
774 * config.guess: Remove.
775
776 2003-12-19 Jakub Jelinek <jakub@redhat.com>
777
778 * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
779 (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
780 regstk_top.
781 (uw_frame_state_for): Handle locations inside bundles.
782 (uw_init_context_1): Initialize context->rnat.
783 Set context->regstk_top to lowest rbs address which has nat collection
784 in context->rnat.
785 (uw_install_context): Fix rnat restoring.
786 Restore ar.rsc to previous state.
787 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
788 MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
789
790 2003-12-19 Jakub Jelinek <jakub@redhat.com>
791
792 PR c++/13239
793 * builtins.c (expand_builtin_expect_jump): Update
794 TREE_VALUE (arglist) if unsave_expr_now langhook
795 created a new tree.
796
797 2003-12-19 Richard Earnshaw <rearnsha@arm.com>
798
799 * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
800 FIRST_PSEUDO_REGISTER.
801
802 2003-12-18 Hartmut Penner <hpenner@de.ibm.com>
803
804 * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
805 for SVR4 ABI.
806
807 2003-12-18 Geoffrey Keating <geoffk@apple.com>
808
809 * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
810 (OS_MISSING_ALTIVEC): Define.
811 * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
812 -force_cpusubtype_ALL.
813 * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
814 CPU information table; now always set all CPU-specific values.
815 Also, use Altivec and powerpc64 when chip and OS supports them.
816
817 2003-12-18 Geoffrey Keating <geoffk@apple.com>
818
819 * fixinc/inclhack.def (darwin_macho_dyldh): New.
820 * fixinc/fixincl.x: Regenerate.
821
822 2003-12-18 Dara Hazeghi <dhazeghi@yahoo.com>
823
824 * version.c (version_string): Renumber as 3.4.0
825 * doc/include/gcc-common.texi: Likewise
826
827 2003-12-18 Richard Henderson <rth@redhat.com>
828
829 * genrecog.c (print_host_wide_int): New.
830 (write_switch, write_cond): Use it.
831
832 2003-12-18 Richard Henderson <rth@redhat.com>
833
834 * c-decl.c (check_bitfield_type_and_width): Remove enum special
835 case suppression of pedwarn.
836 * system.h (ENUM_BITFIELD): Use __extension__.
837 (CHAR_BITFIELD): Likewise.
838
839 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
840 Mark Dettinger <dettinge@de.ibm.com>
841
842 * config/s390/s390.md (UNSPEC_SRST): New constant.
843 ("strlendi", "strlensi"): New expanders.
844 ("*strlendi", "*strlensi"): New insns.
845
846 2003-12-18 Mark Mitchell <mark@codesourcery.com>
847
848 * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
849 (LINK_ARCH32_SPEC_BASE): ... this new macro.
850 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
851 ...
852 (LINK_ARCH64_SPEC_BASE): ... this new macro.
853 * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
854 (LINK_ARCH64_SPEC): Likewise.
855
856 2003-12-18 Jason Merrill <jason@redhat.com>
857
858 PR middle-end/13234
859 * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
860 classes.
861
862 2003-12-18 Steven Bosscher <stevenb@suse.de>
863
864 * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
865 * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
866 Don't push and pop TV_REORDER_BLOCKS timevars, do it...
867 * bb-reorder.c (reorder_basic_blocks): ...here, and...
868 * tracer.c (tracer): here.
869
870 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
871
872 * loop.c (move_movables): Handle combination of m->consec,
873 m->move_insn_first, and m->insert_temp all nonzero correctly.
874
875 2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
876
877 * calls.c (load_register_parameters): Don't use
878 LOAD_ARGS_REVERSED.
879 * system.h (LOAD_ARGS_REVERSED): Poison.
880 * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
881
882 2003-12-17 Per Bothner <per@bothner.com>
883
884 * emit-rtl.c (set_new_first_and_last_label_num): Remove function.
885 * rtl.h (set_new_first_and_last_label_num): Remove declaration.
886
887 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
888
889 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
890 scratch insns of the then branch that clobber regs needed by the
891 else branch.
892
893 2003-12-17 Kazu Hirata <kazu@cs.umass.edu>
894
895 * calls.c (expand_call): Update comments.
896 * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
897 * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
898
899 2003-12-17 James E Wilson <wilson@specifixinc.com>
900 Roger Sayle <roger@eyesopen.com>
901
902 * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
903 * gcse.c: Include tree.h.
904 (implicit_set_cond_p): New.
905 (find_implicit_sets): Call it.
906
907 2003-12-17 Santiago Vila <sanvila@unex.es>
908
909 * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
910 TARET_OS_CPP_BUILTINS.
911
912 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
913
914 * emit-rtl.c: Fix signed/unsigned comparison warnings.
915
916 2003-12-17 Joseph S. Myers <jsm@polyomino.org.uk>
917
918 * predict.c (struct block_info_def, struct edge_info_def): Change
919 bit-fields of width 1 to unsigned int.
920
921 2003-12-16 Geoffrey Keating <geoffk@apple.com>
922
923 PR 12480
924 * c-pch.c (pch_init): Improve error message when precompiled
925 header can't be written.
926
927 PR 12606
928 * c-pch.c (pch_init): Make a PCH file appear invalid while it's
929 being written.
930 (c_common_write_pch): Make it valid once it's done.
931
932 2003-12-17 Ulrich Weigand <uweigand@de.ibm.com>
933
934 PR target/11992
935 * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
936 instead of CLCL.
937 ("*cmpmem_long_31"): Likewise.
938
939 2003-12-17 Vladimir Makarov <vmakarov@redhat.com>
940
941 * config/ia64/ia64.c: Add more comments about insn bundling.
942
943 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
944
945 PR optimization/10592
946 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
947 or subreg in SET_DEST if it isn't a hard register.
948
949 2003-12-17 David Edelsohn <edelsohn@gnu.org>
950
951 * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
952 -fno-branch-probabilities to arguments when compiling ctors and
953 dtors.
954
955 2003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
956
957 * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
958 * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
959
960 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
961
962 * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
963 as base registers for sub-word operations.
964 (thumb_legitimate_address_p): Simplify REG+REG test.
965
966 2003-12-17 Segher Boessenkool <boessen@de.ibm.com>
967
968 * opts.c (wrap_help): Fix overflow.
969
970 2003-12-17 Fred Fish <fnf@redhat.com>
971
972 * configure.in: Remove code to examine linker scripts and set
973 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
974 * configure, config.in: Regenerate.
975
976 2003-12-16 Mark Mitchell <mark@codesourcery.com>
977
978 PR c++/12218
979 * varasm.c (initializer_constant_valid_p): Allow a conversion from
980 an integral constant to an OFFSET_TYPE.
981
982 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
983
984 PR target/11012
985 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
986 gen_cmp_ne_small_const_insn.
987 * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
988
989 2003-12-17 Neil Booth <neil@daikokuya.co.uk>
990 Joseph S. Myers <jsm@polyomino.org.uk>
991
992 PR c/3347
993 * c-decl.c (enum_decl_context): Remove BITFIELD.
994 (grokdeclarator): Take bit-field width as an input.
995 Perform bit-field width validation with
996 check_bitfield_type_and_width rather than waiting for
997 finish_struct.
998 (groktypename, groktypename_in_parm_context, start_decl,
999 push_parm_decl, grokfield, start_function): Update calls to
1000 grokdeclarator.
1001 (check_bitfield_type_and_width): New function.
1002 (finish_struct): Move bit-field validation to grokdeclarator
1003 and check_bitfield_type_and_width.
1004
1005 2003-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1006
1007 PR bootstrap/13386
1008 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
1009 using HP native linker.
1010 * configure: Rebuilt.
1011
1012 2003-12-16 Mark Mitchell <mark@codesourcery.com>
1013
1014 PR c++/13275
1015 * c-common.h (enum rid): Add RID_OFFSETOF.
1016 * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
1017 * ginclude/stddef.h (offsetof): Reimplement for C++, using
1018 __offsetof__.
1019 * doc/extend.texi: Document __offsetof__.
1020
1021 2003-12-16 Stan Cox <scox@redhat.com>
1022
1023 * config/iq2000/iq2000.h: Formatting.
1024 (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
1025 (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
1026 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
1027 * config/iq2000/iq2000.c: Formatting.
1028 (iq2000_rtx_costs): New.
1029
1030 2003-12-16 Richard Earnshaw <rearnsha@arm.com>
1031
1032 * arm.md (addsi3_carryin_shift): Add missing register constraints.
1033
1034 2003-12-16 Loren James Rittle <ljrittle@acm.org>
1035
1036 * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
1037 pass with -pthread on FreeBSD systems.
1038
1039 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
1040
1041 * config/mips/mips.c (mips_file_end): Only write symbols that have
1042 been referenced at some point.
1043
1044 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
1045
1046 * config/mips/mips.c: Include langhooks.h
1047 (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
1048
1049 2003-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
1050
1051 PR optimization/13313
1052 * combine.c (make_extraction) [REG]: Do not use
1053 gen_lowpart_for_combine when POS is non-zero.
1054
1055 2003-12-16 Hartmut Penner <hpenner@de.ibm.com>
1056
1057 * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
1058 * testsuite/gcc.dg/altivec-10.c: Test for above.
1059
1060 2003-12-15 David O'Brien <obrien@FreeBSD.org>
1061
1062 * Makefile.in (CPPFLAGS): Initialize from configure.
1063
1064 2003-12-15 Roger Sayle <roger@eyesopen.com>
1065
1066 PR middle-end/13400
1067 * ifcvt.c (noce_process_if_block): Disable unconditional write
1068 optimizations if we could introduce a store to trapping memory
1069 that wasn't present previously.
1070
1071 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
1072
1073 * system.h (DEFAULT_CALLER_SAVES): Poison.
1074 * toplev.c (flag_caller_saves): Always initialize with 0.
1075 * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
1076
1077 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
1078
1079 * flow.c (EXIT_IGNORE_STACK): Move to ...
1080 * defaults.h (EXIT_IGNORE_STACK): ... here.
1081 * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
1082 EXIT_IGNORE_STACK.
1083 * function.c (expand_function_end): Likewise.
1084 * global.c (global_alloc): Likewise.
1085 * ra.c (init_ra): Likewise.
1086 * reload1.c (init_elim_table): Likewise.
1087 * reorg.c (fill_simple_delay_slots): Likewise.
1088 * resource.c (init_resource_info): Likewise.
1089 * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
1090 is 0.
1091
1092 2003-12-15 J"orn Rennecke <joern.rennecke@superh.com>
1093
1094 * reload.c (reg_overlap_mentioned_for_reload_p):
1095 When looking at a PLUS in X, avoid spuriously returning nonzero
1096 when IN is a REG or another simple PLUS, or a MEM containing one.
1097
1098 * loop.c (loop_invariant_p): Amend comment about where new registers
1099 might come from.
1100
1101 2003-12-15 Andreas Jaeger <aj@suse.de>
1102
1103 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
1104 handling of obsolete language CHILL.
1105
1106 2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1107
1108 * tree.c (initializer_zerop): Add test for empty set.
1109 * integrate.c (function_cannot_inline_p): Forbid inlining
1110 functions calling `longjmp'.
1111
1112 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
1113
1114 PR c++/11773
1115 * doc/gcov.texi (Gcov and Optimization): Document inline function
1116 behaviour. Fix some file suffixes.
1117
1118 2003-12-14 David O'Brien <obrien@FreeBSD.org>
1119
1120 * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
1121
1122 2003-12-14 Mark Mitchell <mark@codesourcery.com>
1123
1124 * c-common.h (c_parse_error): Declare it.
1125 * c-common.c (c_parse_error): New function.
1126 * c-parse.y (yyerror): Use it.
1127
1128 2003-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1129
1130 PR target/13054
1131 * pa-protos.h (indexed_memory_operand, borx_reg_operand,
1132 move_dest_operand, move_src_operand): New protypes.
1133 (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
1134 * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
1135 move_src_operand): New functions.
1136 (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
1137 (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
1138 address until cse is not expected on targets with non-equivalent
1139 space registers.
1140 (hppa_legitimize_address): Canonicalize unscaled indexed addresses
1141 on targets non-equivalent space registers.
1142 (emit_move_sequence): Break out indexed addresses from destination
1143 operand. Similarly, break out unscaled indexed addresses from
1144 source operand on targets with non-equivalent space registers. Fix
1145 REG_POINTER flag when possible. Mark register pointer when creating
1146 new pointers.
1147 (print_operand): Handle unscaled index addresses.
1148 * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
1149 for EXTRA_CONSTRAINT.
1150 (EXTRA_CONSTRAINT): Rework to make more readable.
1151 (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
1152 subroutines for GO_IF_LEGITIMATE_ADDRESS.
1153 (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled
1154 and unscaled addresses. Canonicalize unscaled indexed addresses on
1155 targets with non-equivalent space registers. Document issues in
1156 handling indexed address modes on PA-RISC.
1157 (PREDICATE_CODES): Update for new and deleted predicates.
1158 * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
1159 Use new predicates in move patterns.
1160 Add peephole2 patterns to optimize floating point stores. Fix
1161 constrain preferencing in move patterns. Delete patterns for handling
1162 unscaled indexed memory loads. Add missing load and store with
1163 base-register modification patterns. Correct SFmode floating point
1164 store pattern. Add missing zero extension loads.
1165
1166 2003-12-13 Steven Bosscher <stevenb@suse.de>
1167
1168 * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
1169 comes in with ggc.h. Add a new bool field `dead'.
1170 (destroy_ggc_zone): Don't destroy a zone at once. Instead, only
1171 set the `dead' flag for the dead zone. Wrap a sanity check in
1172 ENABLE_CHECKING.
1173 (ggc_collect_1): Always mark and sweep if a zone has the `dead'
1174 flag set.
1175 (ggc_collect): Free dead zones after collecting.
1176
1177 2003-12-13 Jan Hubicka <jh@suse.cz>
1178
1179 * coverage.c (get_coverage_counts): Use inform instead of warning
1180 about missing profile.
1181
1182 2003-12-12 Steven Bosscher <stevenb@suse.de>
1183
1184 * Makefile.in (opts.o, explow.o): Depend on langhooks.h
1185
1186 2003-12-12 Geoffrey Keating <geoffk@apple.com>
1187
1188 * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
1189 <powerpc-*-darwin*>: Likewise.
1190
1191 2003-12-12 Jakub Jelinek <jakub@redhat.com>
1192
1193 * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
1194 (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
1195 br_loc[7]. Update comment.
1196 (MD_HANDLE_UNWABI): Define.
1197 * config/ia64/unwind-ia64.c (struct unw_state_record): Add
1198 unwabi field.
1199 (struct _Unwind_Context): Increase br_loc array size to 8 entries.
1200 (desc_abi): Set unwabi.
1201 (uw_update_reg_address): Allow br up to 7.
1202 (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
1203 (uw_install_context): Load b1..b5 from correct locations.
1204 Fix insn loading ar.fpsr.
1205 * doc/tm.texi: Document MD_HANDLE_UNWABI.
1206
1207 2003-12-12 Roger Sayle <roger@eyesopen.com>
1208
1209 PR optimization/13037
1210 * loop.c (update_giv_derive): Ignore redundant sets of a biv when
1211 calculating how to derive a giv from a biv.
1212
1213 2003-12-12 Neil Booth <neil@daikokuya.co.uk>
1214
1215 PR preprocessor/12935 preprocessor/12952 preprocessor/13046
1216 * cpplib.c (prepare_directive_trad): Clear skipping only in
1217 #if and #elif directives.
1218 (do_undef): Call the handler even if the identifier is not a macro.
1219 * cpptrad.c (scan_parameters): Emit an error message.
1220 (_cpp_create_trad_definition): Remember the params list even on
1221 failure.
1222
1223 2003-12-11 Zack Weinberg <zack@codesourcery.com>
1224
1225 * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
1226 to inline functions: arm_arm_address_cost, arm_thumb_address_cost
1227 respectively.
1228 (arm_address_cost): Use 'em.
1229
1230 2003-12-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1231
1232 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
1233 __STDC_VERSION__ to ISO C94 for C++.
1234
1235 * fixinc/inclhack.def (alpha_wchar): New fix.
1236 * fixinc/fixincl.x: Regenerate.
1237 * fixinc/tests/base/wchar.h: New file.
1238
1239 2003-12-11 David Mosberger <davidm@hpl.hp.com>
1240
1241 * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
1242 required by C++ ABI for Itanium.
1243 * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
1244 * config/t-libunwind-no-eh: New file.
1245 * configure.in: Check libunwind for _Unwind_Resume() and if it's
1246 present, set libunwind_has_eh_support to "yes".
1247 * configure: Regenerate.
1248 * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
1249 set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
1250
1251 2003-12-11 Richard Sandiford <rsandifo@redhat.com>
1252
1253 * config/mips/mips.c (mips_global_pointer): Force functions with
1254 a nonlocal goto to set up $gp.
1255
1256 2003-12-11 James E Wilson <wilson@specifixinc.com>
1257
1258 PR target/13132
1259 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
1260 bits.
1261
1262 2003-12-12 Nick Clifton <nickc@redhat.com>
1263
1264 * config/m32r/m32r.c: Convert to ISO-C
1265
1266 2003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1267
1268 * doc/invoke.texi: Replace Mitsubishi with Renesas.
1269 * config/m32r/m32r.h: Ditto.
1270 * config/m32r/m32r.c: Ditto.
1271 * config/m32r/m32r.md: Ditto.
1272
1273 2003-12-11 Steven Bosscher <steven@gcc.gnu.org>
1274
1275 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
1276 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
1277 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
1278 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
1279 fields of a basic block.
1280 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
1281 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
1282 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
1283 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
1284 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
1285 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
1286 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1287 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
1288 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
1289 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
1290 accessing the `head' and `end' fields of a basic block directly.
1291
1292 * gengtype.c: Teach about "void**" pointers and "void *" function
1293 types. Fixes earlier commit.
1294
1295 2003-12-10 Geoffrey Keating <geoffk@apple.com>
1296
1297 * doc/extend.texi (Vector Extensions): Document that bitwise
1298 operations also work on vectors.
1299
1300 2003-12-10 Richard Earnshaw <rearnsha@arm.com>
1301
1302 * arm.md: New split patterns for optimizing bitfield accesses.
1303
1304 2003-12-10 Steven Bosscher <stevenb@suse.de>
1305
1306 * README.Portability: Remove K+R section.
1307
1308 * gengtype-lex.l: Teach about "void**" pointers and
1309 "void*" function types.
1310
1311 2003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1312
1313 PR target/13354
1314 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
1315 manually if one can do that with only one instruction.
1316
1317 2003-12-10 Nick Clifton <nickc@redhat.com>
1318
1319 * config.gcc (arm-linux): Include linux.h in tm_file so that
1320 LINUX_TARGET_OS_CPP_BUILTINS is defined.
1321 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
1322
1323 2003-12-09 James E Wilson <wilson@specifixinc.com>
1324
1325 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
1326
1327 2003-12-09 Matt Austern <austern@apple.com>
1328
1329 PR c/13134
1330 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
1331
1332 2003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1333
1334 * config/m32r/m32r.h: Add support for m32r2 processor. Including
1335 a new command line option -m32r2 to select it.
1336 * config/m32r/m32r.c: Add support for the new processor variant.
1337 * config/m32r/m32r.md: Likewise.
1338 * config/m32r/t-m32r: Add m32r2 multilibs.
1339 * doc/invoke.texi: Document the new command line switch.
1340
1341 2003-12-08 Kazu Hirata <kazu@cs.umass.edu>
1342
1343 * defaults.h (LOCAL_REGNO): Give the default definition.
1344 * flow.c (LOCAL_REGNO): Remove.
1345 * reload1.c (LOCAL_REGNO): Likewise.
1346
1347 2003-12-08 Geoffrey Keating <geoffk@apple.com>
1348
1349 PR target/11848
1350 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
1351 in floating-point registers between TFmode and DImode.
1352 * rs6000.c (rs6000_emit_move): Split moves early.
1353 (secondary_reload_class): Random Whitespace Change.
1354 (rs6000_split_multireg_move): Support moves involving FP registers.
1355 Emit instructions directly.
1356 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
1357 * altivec.md: Update for changes to rs6000_split_multireg_move.
1358 * rs6000.md: Update for changes to rs6000_split_multireg_move.
1359 (movtf_internal): Support moves to/from GPRs.
1360
1361 2003-12-08 Stuart Hastings <stuart@apple.com>
1362
1363 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
1364
1365 2003-12-08 James E Wilson <wilson@specifixinc.com>
1366
1367 PR target/13132
1368 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
1369 integer modes.
1370
1371 2003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
1372
1373 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
1374 directory.
1375
1376 2003-12-08 Alexandre Oliva <aoliva@redhat.com>
1377
1378 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
1379 by using match_scratch.
1380 (negdi2): New.
1381
1382 2003-12-08 Jason Merrill <jason@redhat.com>
1383 Daniel Berlin <dberlin@dberlin.org>
1384
1385 PR debug/11114
1386 Support namespaces in DWARF 2 output.
1387 * dwarf2out.c (gen_namespace_die): New function.
1388 (force_namespace_die, setup_namespace_context): New fns.
1389 (declare_in_namespace): New fn.
1390 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
1391 (dwarf2out_decl): Handle namespaces.
1392 (scope_die_for): Pass through a namespace scope.
1393 (class_scope_p): Rename to class_or_namespace_scope_p.
1394 (gen_subprogram_die, gen_variable_die): Adjust.
1395 (gen_struct_or_union_die): Always emit a declaration
1396 if context_die is a namespace.
1397
1398 2003-12-08 Jan Hubicka <jh@suse.cz>
1399
1400 * unwind-pe.h (read_uleb128): Fix handling of large values
1401 (read_sleb128): Fix handling of large values
1402
1403 2003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
1404
1405 PR middle-end/10060
1406 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
1407 (copy_rtx_if_shared_1): here and optimize the last one
1408 in the sequence into tail-recursion.
1409 (reset_used_flags): Optimize the last one
1410 in the sequence into tail-recursion.
1411
1412 2003-12-08 Richard Earnshaw <rearnsha@arm.com>
1413
1414 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
1415 for constant X.
1416
1417 2003-12-08 Richard Sandiford <rsandifo@redhat.com>
1418
1419 * calls.c (expand_call): Don't try using tail or recursive calls
1420 after the function body has been expanded.
1421
1422 2003-12-08 Jan Hubicka <jh@suse.cz>
1423
1424 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
1425
1426 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
1427
1428 PR ada/13324, PR ada/12614
1429 * doc/install.texi: Update requirements for building Ada.
1430
1431 2003-12-07 David Edelsohn <edelsohn@gnu.org>
1432 Graham Reed <greed@pobox.com>
1433
1434 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
1435 (GCC_UNDEF_SYMBOL): Same.
1436
1437 2003-12-07 Kazu Hirata <kazu@cs.umass.edu>
1438
1439 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
1440 * system.h (FINAL_PRESCAN_LABEL): Poison.
1441 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
1442
1443 2003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1444
1445 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
1446
1447 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1448
1449 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
1450 * configure: Regenerate with autoconf 2.13.
1451
1452 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
1453 with modern equivalents.
1454 * configure: Regenerate.
1455
1456 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
1457 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
1458 * configure: Regenerate.
1459
1460 * configure: Regenerate with (preferred) autoconf 2.57.
1461 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
1462
1463 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1464
1465 PR optimization/12965
1466 * caller-save.c (save_call_clobbered_regs): Do not save/restore
1467 registers around no-return calls.
1468
1469 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1470
1471 * configure.in: Make minimum necessary changes for autoconf 2.5x.
1472 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
1473 * configure: Regenerate with autoconf 2.58.
1474
1475 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1476
1477 PR optimization/13318
1478 * loop.c (express_from): Protect integer division from overflow.
1479
1480 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1481
1482 PR optimization/13060
1483 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
1484 replacement already exists. Fix again the whole insn if that fails.
1485
1486 2003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
1487
1488 * config/rs6000/rs6000.c (macho_branch_islands): Use
1489 HOST_WIDE_INT_PRINT_UNSIGNED.
1490
1491 2003-12-06 Richard Sandiford <rsandifo@redhat.com>
1492
1493 * varasm.c (incorporeal_function_p): New.
1494 (assemble_external): Use it as a filter.
1495 * config/mips/mips.c (mips_output_external): Don't check for builtin
1496 functions here.
1497
1498 2003-12-06 Richard Earnshaw <reanrsha@arm.com>
1499
1500 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
1501
1502 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
1503
1504 * Makefile.in (program_transform_cross_name): Delete.
1505 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
1506 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
1507 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
1508 (install_cpp, install_driver, install-man, uninstall): Likewise.
1509
1510 2003-12-06 Alan Modra <amodra@bigpond.net.au>
1511
1512 PR 13169
1513 * basic-block.h (PROP_ASM_SCAN): Define.
1514 * final.c (regs_asm_clobbered): New array.
1515 * regs.h (regs_asm_clobbered): Declare.
1516 * flow.c (life_analysis): Init it.
1517 (mark_set_regs): Set PROP_ASM_SCAN for asms.
1518 (mark_set_1): Set regs_asm_clobbered.
1519 * global.c (global_alloc): Don't set eliminable_regset when
1520 regs_asm_clobbered.
1521
1522 2003-12-05 Mark Mitchell <mark@codesourcery.com>
1523
1524 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1525
1526 PR c++/13314
1527 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1528
1529 2003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
1530
1531 PR driver/13211
1532 * gcc.c (execute) Increment execution_count when returning
1533 early because verbose_only_flag is true.
1534
1535 2003-12-05 Per Bothner <pbothner@apple.com>
1536
1537 * cppfiles.c (file_hash_hash): New static function.
1538 (hash_string_eq): Renamed static function to file_hash_eq.
1539 (_cpp_init_files): Create file_hash table with above callbacks.
1540 (cpp_included): Must use htab_find_with_hash insead of htab_find.
1541 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
1542
1543 2003-12-05 Per Bothner <pbothner@apple.com>
1544
1545 * line-map.h (source_location): New typedef.
1546 (fileline): Redefined as source_location.
1547 (struct line_map, linemap_add, linemap_lookup): Replace filefile
1548 by source_location.
1549 * line-map.c (linemap_add, linemap_lookup): Use source_location.
1550
1551 2003-12-05 Richard Henderson <rth@redhat.com>
1552
1553 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1554 field to suppress -Wpadded warnings.
1555
1556 2003-12-05 Stuart Hastings <stuart@apple.com>
1557
1558 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1559
1560 2003-12-05 Stuart Menefy <stuart.menefy@st.com>
1561 J"orn Rennecke <joern.rennecke@superh.com>
1562
1563 PR target/13302
1564 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1565
1566 2003-12-05 Roger Sayle <roger@eyesopen.com>
1567
1568 * dojump.c (do_jump): If the expression being compared against
1569 zero, is the subreg of a promoted variable, perform the comparison
1570 in the promoted mode.
1571 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1572 zero-extensions of subregs of promoted variables where the
1573 extension is identical to that used to promote the variable.
1574
1575 2003-12-05 Hans-Peter Nilsson <hp@axis.com>
1576
1577 PR target/13256
1578 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1579 The only user changed as follows:
1580 * resource.c (mark_set_resources) <case SET>: Always recurse for
1581 SET_SRC (x).
1582 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1583 operands.
1584 <case STRICT_LOW_PART>: Delete, deferring to default code.
1585
1586 2003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1587
1588 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1589 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1590
1591 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1592
1593 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1594 for n32 & n64 abicalls.
1595
1596 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1597
1598 PR bootstrap/13145
1599 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1600 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1601 (mips_load_got): Always create a constant MEM.
1602 (mips_expand_call): Use load_callsi and load_calldi.
1603 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1604 (load_callsi, load_calldi): New patterns.
1605
1606 2003-12-05 Peter Gerwinski <peter@gerwinski.de>
1607
1608 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1609
1610 2003-12-05 Steven Bosscher <stevenb@suse.de>
1611
1612 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1613 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1614 config/fr30/fr30-protos.h, config/fr30/fr30.c,
1615 config/i370/i370-protos.h, config/i370/i370.c,
1616 config/i960/i960-protos.h, config/i960/i960.c,
1617 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1618 config/m32r/m32r-protos.h, config/m32r/m32r.c,
1619 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1620 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1621 Convert to ISO C90 function declarations and definitions.
1622
1623 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1624
1625 * doc/extend.texi (Constructing Calls): Add warning about
1626 the limitations of the functions.
1627
1628 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1629
1630 PR middle-end/11151
1631 * function.h (struct function): New field 'x_naked_return_label'.
1632 * function.c (free_after_compilation): Set it to NULL.
1633 (expand_function_end): Emit 'naked_return_label' if it exists.
1634 * rtl.h (expand_naked_return): Declare.
1635 * stmt.c (expand_naked_return): New function to generate a
1636 jump to 'naked_return_label'.
1637 * builtins.c (expand_builtin_return): Call expand_naked_return
1638 instead of expand_null_return.
1639 * config/sparc/sparc.md (untyped_return): Likewise.
1640
1641 2003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
1642
1643 PR target/11322
1644 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1645
1646 PR target/12467
1647 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1648
1649 2003-12-04 Stuart Hastings <stuart@apple.com>
1650
1651 * rs6000.c (output_call, macho_branch_islands,
1652 add_compiler_branch_island, no_previous_def, get_previous_label)
1653 Revisions of xx_stub functions for branch islands,
1654 add -fPIC support for Darwin.
1655 * rs6000-protos.h (output_call) Prototype.
1656 * rs6000.md Use output_call.
1657 * invoke.texi Explain Darwin semantics of -longcall.
1658 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1659
1660 2003-12-04 Richard Henderson <rth@redhat.com>
1661
1662 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1663 (subqi3_carry): Likewise.
1664
1665 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1666
1667 PR optimization/13260
1668 * sh-protos.h (sh_expand_t_scc): Declare.
1669 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1670 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1671 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
1672 something that is not a CONST_INT, copy it into a pseudo register.
1673 (subc): Fix description of new T value.
1674 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1675 (sltu, sleu, sgeu): Likewise.
1676 (seq, sne): Likewise. Use sh_expand_t_scc.
1677
1678 2003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
1679
1680 * configure.in: Generalize the CONFIG_HEADERS pattern under which
1681 we stamp cstamp-h.
1682 * configure: Regenerate.
1683
1684 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1685 to avoid trouble when updating to autoconf 2.5x.
1686 * configure: Regenerate (with autoconf 2.13 still).
1687
1688 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1689
1690 * sh.md (truncdiqi2): Use andi opcode for immediate.
1691 (reload_outdf+1,reload_outdf+2): Remove constraints.
1692 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1693 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1694 (fipr, ftrv): Add .s suffix to opcode.
1695
1696 2003-12-04 Richard Sandiford <rsandifo@redhat.com>
1697
1698 PR target/13186
1699
1700 Revert all of the following patch, except the addition of
1701 hook_bool_machine_mode_true:
1702
1703 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1704
1705 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1706 (GTFILES): Add targhooks.c.
1707 (gt-targhooks.h): New rule; depend on s-gtype.
1708 * target.h (direct_pool_load_p): New hook.
1709 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1710 (TARGET_INITIALIZER): Include it.
1711 * targhooks.h (default_direct_pool_load_p): Declare.
1712 (hook_bool_machine_mode_true): Declare.
1713 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1714 gt-targhooks.h.
1715 (pool_symbol): New variable.
1716 (default_direct_pool_load_p): New function.
1717 (hook_bool_machine_mode_true): New function.
1718 * reload.c: Include target.h.
1719 (find_reloads): If an alternative will force a constant into memory,
1720 count an extra reload if constant pool symbols are not valid
1721 addresses. If an alternative uses memory to move values between
1722 registers, count the move as two reloads rather than one.
1723 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1724 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1725
1726 2003-12-03 Mark Mitchell <mark@codesourcery.com>
1727
1728 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1729 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1730 HAVE_AS_TLS is true.
1731 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1732
1733 2003-12-03 James E Wilson <wilson@specifixinc.com>
1734
1735 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1736
1737 * gcc-page.c (extra_order_size_tab): Correct comment.
1738
1739 2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
1740
1741 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1742 instead of gen_push_h8300hs.
1743 (pop): Call gen_pop_h8300hs_advanced instead of
1744 gen_pop_h8300hs.
1745 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1746 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1747 Tighten the predicate.
1748 (*tablejump_h8300hs_normal): Tighten the predicate.
1749 (push_h8300hs): Change to
1750 push_h8300hs_advanced.
1751 (pop_h8300hs): Change to pop_h8300hs_advanced.
1752
1753 2003-12-03 Eric Christopher <echristo@redhat.com>
1754
1755 * rtl.c: Fix typo.
1756 * config/mips/mips.h: Ditto. Fix formatting.
1757
1758 2003-12-04 Ben Elliston <bje@wasabisystems.com>
1759
1760 * future.options: Remove. Move to gnu.org web pages.
1761
1762 2003-12-03 Eric Christopher <echristo@redhat.com>
1763
1764 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1765 from here...
1766 * c-tree.h: to here.
1767
1768 2003-12-03 Jan Hubicka <jh@suse.cz>
1769
1770 PR optimization/12324
1771 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
1772 in unit-at-a-time mode.
1773
1774 2003-12-03 Jakub Jelinek <jakub@redhat.com>
1775
1776 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1777 read-only field if cleared is 0.
1778
1779 2003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
1780
1781 * config.gcc: Mark obsolete targets for GCC 3.4.
1782
1783 2003-12-03 Zack Weinberg <zack@codesourcery.com>
1784
1785 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1786 * config.in, configure.in: Regenerate.
1787 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1788 including iconv.h.
1789
1790 2003-12-03 Alan Modra <amodra@bigpond.net.au>
1791
1792 PR target/11229
1793 * cse.c (cse_insn): Set classp using src_const_elt if
1794 src_eqv_elt is NULL.
1795
1796 2003-12-03 Richard Earnshaw <rearnsha@arm.com>
1797
1798 * gcse.c (reg_clear_last_set): New function.
1799 (reg_set_info): If data is non-null, treat it as an sbitmap of
1800 registers, set the bit for the register being set.
1801 (compute_store_table): Allocate last_set_in with xcalloc. Do not
1802 memset this array on each iteration. Pass reg_set_in_block[bb->index]
1803 to note_stores while computing last_set_in instead of scanning
1804 last_set_in after the first pass through the insns.
1805 Clear last_set_in using reg_clear_last_set instead of explicitly
1806 rescanning after each insn. If checking is enabled, assert that
1807 last_set_in is completely zeroed after each bb has been processed.
1808
1809 2003-12-02 Geoffrey Keating <geoffk@geoffk.org>
1810
1811 *