OSDN Git Service

e8c816ad80451718e5427aabe2ef4fffdb508a28
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
2
3         PR tree-optimization/27865
4         * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
5         for pointer types.
6         * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
7         fold_used_pointer, pointer_used_p): New functions.
8         (analyze_scalar_evolution_1): Use fold_used_pointer.
9         * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
10         * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
11         for pointers.
12
13 2006-08-17  Paolo Bonzini <bonzini@gnu.org>
14
15         PR c++/28573
16         * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
17         or the INTEGER_CST.  Fail on a CALL_EXPR. 
18         (fold_offsetof): Pass new argument to fold_offsetof_1.
19         * c-parser.c (c_parser_postfix_expression): Don't include a NULL
20         operand into an INDIRECT_REF. 
21         * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
22
23 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
24
25         PR gcov/profile/26570
26         * value-prof.c (static_values): Removed.
27         (tree_find_values_to_profile): Do not set static_values.
28         (find_values_to_profile): Do not free static_values.
29         * profile.c (instrument_values): Do not free the values.
30         (branch_prob): Free the values.
31
32 2006-08-16  Naveen.H.S  <naveenh@kpitcummins.com>
33
34         * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
35
36 2006-08-16  Joseph S. Myers  <joseph@codesourcery.com>
37
38         PR c/27697
39         * c-typeck.c (build_component_ref): Combine qualifiers of
40         structure or union and field.
41
42 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
43
44         PR rtl-optimization/28071
45         * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
46         * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
47         * tree-into-ssa.c (struct dom_dfsnum): New.
48         (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
49         functions.
50         (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
51         compute_global_livein.
52         (prepare_block_for_update, prepare_use_sites_for): Mark the uses
53         in phi nodes in the correct blocks.
54
55 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
56
57         PR tree-optimization/28364
58         * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
59         correctly.
60         (fold_affine_expr): New function.
61         (may_eliminate_iv): Use fold_affine_expr.
62
63 2006-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
64
65         PR c/27489
66         * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
67         Clean up.
68
69 2006-08-16  Mike Stump  <mrs@apple.com>
70
71         * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
72         * doc/cppopts.texi (-MD): Likewise.
73
74 2006-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
75
76         PR c/28287
77         * c-common.c (handle_weak_attribute): Ignore and warn if
78         not a FUNCTION_ or VAR_DECL.
79
80 2006-07-15  Mike Stump  <mrs@apple.com>
81
82         PR c/28280
83         * c-parser.c (c_parser_typeof_specifier): Don't use
84         c_finish_expr_stmt, open code desired semantics instead.
85
86 2006-08-15  Nick Clifton  <nickc@redhat.com>
87
88         * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
89         fragment to tmake_file only if threads are enabled.
90         * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
91         * config/i386/t-gthr-win32: New file. ... here.
92
93 2006-08-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
94
95         PR c/28649
96         * c-parser.c (c_parser_compound_statement_nostart): Reset
97         parser->error after each statement.
98
99 2006-08-15  Jakub Jelinek  <jakub@redhat.com>
100
101         PR middle-end/28713
102         * omp-low.c (lower_omp_parallel): Convert t to
103         receiver_decl's type.
104         (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
105         source before comparison.
106
107         PR middle-end/28724
108         * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
109         to itype in assignment to oldival2.
110
111 2006-07-14  Andrew Pinski  <pinksia@physics.uc.edu>
112
113         PR c/27490
114         PR c/27489
115         * c-typeck.c (build_compound_expr): If the second expression
116         is an error mark, then just return an error mark instead of
117         creating a COMPOUND_EXPR.
118
119 2006-07-14  Mike Stump  <mrs@apple.com>
120
121         * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
122
123 2006-08-14  Kazu Hirata  <kazu@codesourcery.com>
124
125         * c-decl.c, var-tracking.c: Fix comment typos.
126
127 2006-08-14  Richard Sandiford  <richard@codesourcery.com>
128
129         PR rtl-optimization/28634
130         * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
131         for floating-point modes unless flag_unsafe_math_optimizations.
132
133 2006-08-13  Alexandre Oliva  <aoliva@redhat.com>
134             Andrew Pinski  <pinskia@physics.uc.edu>
135
136         PR c/27184
137         * tree.c (build_array_type): Unify array types with
138         unspecified index_type.
139         * c-decl.c (grokdeclarator): Make sure we do not modify a
140         unified incomplete array type.
141         * c-typeck.c (store_init_value): Create distinct type before
142         filling in the index type in an initializer from a compound
143         literal.
144
145         * c-decl.c (grokdeclarator): Remove code where we copy the
146         array type over.
147
148 2006-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
149
150         * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
151         into account for TODO_dump_cgraph.
152         (TODO_update_ssa_no_phi): Likewise.
153         (TODO_update_ssa_full_phi): Likewise.
154         (TODO_update_ssa_only_virtuals): Likewise.
155         (TODO_remove_unused_locals): Likewise.
156         (TODO_set_props): Likewise.
157         (TODO_update_stmt_usage): Likewise.
158
159 2006-08-13  Dirk Mueller  <dmueller@suse.de>
160
161         * c-common.c (strict_aliasing_warning): Fix formatting.
162
163 2006-08-13  Matthias Klose  <doko@debian.org>
164
165         * doc/invoke.texi: Fix spelling errors.
166
167 2006-08-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
168
169         PR rtl-optimization/23454
170         * reorg.c (relax_delay_slots): Update comment.
171
172 2006-08-11  Richard Guenther  <rguenther@suse.de>
173
174         PR middle-end/28651
175         * simplify-rtx.c (simplify_const_relational_operation):
176         Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
177         codes.
178
179 2006-08-10  Eric Botcazou  <ebotcazou@adacore.com>
180
181         * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
182         TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
183
184 2006-08-10  Paul Brook  <paul@codesourcery.com>
185
186         * final.c (final_scan_insn): Clear current_insn_predicate before
187         outputting inline asm.
188
189 2006-08-10  Dorit Nuzman  <dorit@il.ibm.com>
190
191         PR tree-optimization/26197
192         * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
193         get_ref_base_and_extent and overlap_subvar to add only relevant
194         subvars as may-aliases.
195         (add_may_alias_for_new_tag): New function, factored out of
196         new_type_alias.
197         * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
198         with additional argument.
199         * tree-flow.h (new_type_alias): Takes additional argument.
200
201 2006-08-09  Nathan Sidwell  <nathan@codesourcery.com>
202
203         * gcov.c (no_data_file): New flag.
204         (read_count_file): Set it if data file not present.  Assume counts
205         zero if not found.
206         (output_lines): Don't name the data file, if there wasn't one.
207
208 2006-08-09  Eric Botcazou  <ebotcazou@adacore.com>
209
210         * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
211         (rs6000_generate_compare): Tweak comments.
212         * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
213
214 2006-08-09  Alexandre Oliva  <aoliva@redhat.com>
215
216         * var-tracking.c (enum micro_operation_type): Add MO_COPY.
217         (var_debug_decl): New function.
218         (var_reg_set): Follow debug decl link.  Add location even if
219         reg is already known to hold some other variable.
220         (var_mem_set): Follow debug decl link.
221         (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
222         decl link.  Delete other known locations of the variable part
223         if requested.
224         (var_reg_delete, var_mem_delete): Delete other known locations
225         of the variable part if requested.
226         (same_variable_part_p): New function.
227         (add_stores): Select MO_COPY when appropriate.
228         (vt_initialize): Handle it.
229         (compute_bb_dataflow, emit_notes_in_bb): Likewise.  Delete
230         known locations for MO_SET and MO_CLOBBER.
231         (find_variable_location_part): New function.
232         (set_variable_part, delete_variable_part): Use it.
233         (clobber_variable_part): New function.
234         * dwarf2out.c (dwarf2out_var_location): Do not follow debug
235         decl link.
236
237 2006-08-07  Victor Kaplansky <victork@il.ibm.com>
238
239         PR tree-optimization/26969
240         * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
241          with an empty list of PHIs.
242
243 2006-08-06  Paolo Bonzini  <bonzini@gnu.org>
244
245         PR target/27827
246
247         * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
248         instructions.
249
250 2006-08-06  Andreas Schwab  <schwab@suse.de>
251
252         * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
253         string.  Whitespace and comment fixup.
254
255 2006-08-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
256
257         PR c/28502
258         * c-decl.c (validate_proto_after_old_defn): Return false on invalid
259         argument.
260
261         PR c/27721
262         * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
263
264         PR c/28136
265         * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
266
267 2006-08-04  Jan Hubicka  <jh@suse.cz>
268
269         PR target/26655
270         PR target/28270
271         * reload.c (push_reload): Patch out the mismatching instruction;
272         return early.
273         (find_reload): Bail out if the instruction was patched out.
274
275 2006-08-04  Jan Hubicka  <jh@suse.cz>
276
277         PR tree-optimization/24888
278         * tree-inline.c (expand_call_inline): Do not re-record variables.
279         (declare_inline_vars): Add variable to unexpanded_var_list.
280
281 2006-08-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
282             Roger Sayle  <roger@eyesopen.com>
283
284         PR rtl-optimization/26244
285         * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
286         inner_const are negative or greater than or equal to the bitsize of
287         MODE.  If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
288         Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
289         Simplify complicated if statement.  For ASHIFT and LSHIFTRT, return
290         CONST0_RTX (mode) when the new shift count is greater than or equal to
291         to the bitsize of the object being shifted and XEXP (y, 0) has no side
292         effects.
293
294 2006-08-04  Kazu Hirata  <kazu@codesourcery.com>
295
296         * tree-cfg.c: Fix a comment typo.
297
298 2006-08-03  Mark Mitchell  <mark@codesourcery.com>
299
300         PR c++/28148
301         * varasm.c (output_constant): Give the front end another chance to
302         expand constants, after stripping NOPs.
303
304 2006-08-03  Jan Hubicka  <jh@suse.cz>
305
306         * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
307         implementation.
308
309 2006-08-03  Dorit Nuzman  <dorit@il.ibm.com>
310
311         PR tree-optimization/27770
312         * tree-vectorizer.h (get_vectype_for_scalar_type): Function
313         declaration removed (moved to tree-flow.h).
314         (vect_can_force_dr_alignment_p): Likewise.
315         * tree-flow.h (get_vectype_for_scalar_type): New function declaration
316         (moved from tree-vectorizer.h).
317         (vect_can_force_dr_alignment_p): Likewise.
318         * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
319         from outside the vectorizer - in particular from cgraph stage.
320         * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
321         the alignment of global arrays when -fsection-anchors is enabled.
322         * cgraphunit.c (cgraph_increase_alignment): New function.
323         (cgraph_optimize): Call cgraph_increase_alignment.
324
325 2006-08-03  David Edelsohn  <edelsohn@gnu.org>
326
327         PR target/27566
328         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
329         not reload a SPE symbol_ref into a lo_sum address.
330
331 2006-08-02  Daniel Jacobowitz  <dan@codesourcery.com>
332
333         PR debug/28063
334         * dwarf2out.c (prune_unused_types_prune): Move call to
335         prune_unused_types_update_strings to cover the parent DIE also.
336
337 2006-08-02  Jan Hubicka  <jh@suse.cz>
338
339         PR gcov/profile/28480
340         * tree-cfg.c (change_bb_for_stmt): New function.
341         (tree_merge_blocks, tree_split_blocks): Use it.
342
343 2006-08-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
344
345         PR c++/28250
346         PR c++/28257
347         PR c++/28259
348         PR c++/28267
349         * toplev.c (compile_file): Return early on errorcount or sorrycount.
350         * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
351         (cgraph_optimize): Likewise.
352
353 2006-08-01  Stuart Hastings  <stuart@apple.com>
354
355         * rtl.h (UINTVAL) New.
356         * config/rs6000/rs6000.c (SMALL_INT) Use it.
357         * testsuite/gcc.dg/20060801-1.c: New.
358         
359 2006-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
360
361         PR debug/23336
362         * c-typeck.c (build_external_type): Mark used enum types.
363         * dwarf2out.c (dwarf2out_abstract_function): Save and restore
364         cfun also.
365         (gen_subprogram_die): Whitespace fix.
366
367 2006-08-01  Jan Hubicka  <jh@suse.cz>
368
369         * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
370         bitmap when not needed.
371         * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
372         bitmaps.
373
374 2006-08-01  Dirk Mueller  <dmueller@suse.de>
375
376         * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
377
378 2006-07-31  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
379
380         * Makefile.in: Revert part of previous patch:
381         Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
382         and REGS_H.
383
384 2006-07-30  Eric Christopher  <echristo@apple.com>
385
386         PR target/27543
387         * doc/extend.texi (i386 Variable Attributes): Add anchor.
388         (PowerPC Variable Attributes): New section.
389
390 2006-07-30  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>
391
392         PR target/28126 (partial fix)
393         * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
394
395 2006-07-28  Jan Hubicka  <jh@suse.cz>
396
397         PR rtl-optimization/28071
398         * cfgrtl.c (rtl_delete_block): Free regsets.
399         * flow.c (allocate_bb_life_data): Re-use regsets if available.
400
401 2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
402
403         * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
404         and variables used in dependencies.
405
406 2006-07-27  Arjan van de Ven <arjan@linux.intel.com>
407
408         * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
409         %fs for -mcmodel=kernel.
410         (stack_tls_protect_test_di): Likewise.
411
412 2006-07-27  Carlos O'Donell  <carlos@codesourcery.com>
413
414         * Makefile.in: Use mkinstalldirs.
415
416 2006-07-27  H.J. Lu  <hongjiu.lu@intel.com>
417
418         PR driver/28437
419         * opts-common.c (prune_options): Skip joined switches.
420
421 2006-07-27  Jan Hubicka  <jh@suse.cz>
422
423         PR rtl-optimization/28071
424         * cselib.c (cselib_process_insn): Don't remove useless values too
425         often for very large hashtables.
426
427 2006-07-27  Jan Hubicka  <jh@suse.cz>
428
429         PR rtl-optimization/28071
430         * global.c (greg_obstack): New obstack.
431         (allocate_bb_info): Use it.
432         (free_bb_info): Likewise.
433         (modify_reg_pav): Likewise.
434
435 2006-07-27  Roger Sayle  <roger@eyesopen.com>
436
437         * builtins.c (fold_fixed_mathfn): When long and long long are the
438         same size, canonicalize llceil*, llfloor*, llround* and llrint*
439         functions to their lceil*, lfloor*, lround* and lrint* forms.
440
441 2006-07-27  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
442
443         PR gcc/28508
444         * config/m32r/m32r.md (branch_insn): Reduce pc range for short
445         branch.
446         (rev_branch_insn): Likewise.
447
448 2006-07-27  Jan Hubicka  <jh@suse.cz>
449
450         PR rtl-optimization/28071
451         * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
452         (reg_set_in_bb, max_reg_computed): New static variables.
453         (regmove_optimize): Free the new array.
454         (fixup_match_1): Update call of reg_is_remote_constant_p.
455
456 2006-07-26  Jan Hubicka  <jh@suse.cz>
457
458         PR tree-optimization/27882
459         * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
460         and decl fields.
461         * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
462         next pointer
463         (cgraph_analyze_compilation_unit): Likewise.
464         * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
465         * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
466         (cgraph_early_inlinine): Make order garbage collected.
467         * Makefile.in (gt-ipa-inline): New garbagecollected file.
468
469 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
470
471         * dbxout.c (output_types_sort): Add a comment.
472         (output_used_types): Free the VEC.
473
474 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
475
476         * function.c (reorder_fix_fragments): Delete.
477         (reorder_blocks): Don't call it.
478         (reorder_blocks_1): Put all subblocks under the origin block.
479
480 2006-07-26  Zdenek Dvorak <dvorakz@suse.cz>
481
482         PR rtl-optimization/27907
483         * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
484         FLOAT_TRUNCATE.
485
486 2006-07-25  Roger Sayle  <roger@eyesopen.com>
487
488         PR middle-end/28473
489         * convert.c (convert_to_integer): When transforming (T)foo(x) into
490         bar(x) check that bar's result type can represent all the values of T.
491
492 2006-07-25  Zdenek Dvorak <dvorakz@suse.cz>
493
494         * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
495
496 2006-07-25  Nick Clifton  <nickc@redhat.com>
497
498         * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
499         size_lookup[] array.
500         (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
501         (ggc_pch_count_object): Likewise.
502         (ggc_pch_alloc_object): Likewise.
503         (ggc_pch_write_object): Likewise.
504         (init_ggc): Do not attempt to initialize entries in the
505         size_lookup[] array for objects whose size is greater than than
506         the length of the array.
507
508 2006-07-25  Daniel Jacobowitz  <dan@codesourcery.com>
509
510         * dbxout.c (output_used_types_helper): Push queued types
511         on a VEC.
512         (output_types_sort): New.
513         (output_used_types): Collect used types on a VEC and sort them
514         before emission.
515
516 2006-07-24  Richard Guenther  <rguenther@suse.de>
517
518         PR middle-end/28463
519         * cgraph.c (cgraph_remove_node): Do not check if dumps
520         are enabled.
521         * cgraphunit.c (cgraph_optimize): Likewise.
522
523 2006-07-24  Jan Hubicka  <jh@suse.cz>
524
525         PR rtl-optimization/28071
526         * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
527         * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
528         splitting before first stmt.
529
530 2006-07-24  Jan Hubicka  <jh@suse.cz>
531
532         PR rtl-optimization/28071
533         * ipa-inline.c (update_caller_keys): Remove edges that
534         are no longer inline candidates.
535
536 2006-07-23  Daniel Jacobowitz  <dan@codesourcery.com>
537
538         PR debug/27473
539         * dbxout.c (output_used_types_helper, output_used_types): New.
540         (dbxout_symbol): Call output_used_types.
541
542 2006-07-23  Jan Hubicka  <jh@suse.cz>
543
544         PR c/25795
545         PR c++/27369
546         * cgraph.c (cgraph_varpool_nodes): Export.
547         (decide_is_variable_needed): Ignored "used" attribute in
548         unit-at-a-time mode.
549         * cgraph.h (cgraph_varpool_nodes): Declare.
550         * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
551         unit-at-a-time mode.
552
553 2006-07-23  Roger Sayle  <roger@eyesopen.com>
554
555         PR target/28247
556         * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
557         mutex_destroy even when !_LIBOOBJC.  Remove duplicate prototype of
558         the __gthrw form of thr_keycreate.
559         (__gthread_key_delete): Silence the unused argument warning.
560
561 2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>
562
563         PR debug/25468
564         * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
565         Cache the last found '\0' marker to avoid quadratic behavior.
566
567 2006-07-23  Jan Hubicka  <jh@suse.cz>
568
569         * i386.md (subsi_3_zext): Fix output template.
570
571 2006-07-21  Mike Stump  <mrs@apple.com>
572
573         * doc/invoke.texi (C++ Dialect Options): Note that
574         -fvisibility-inlines-hidden doesn't affect explicitly
575         instantiationed inline methods.
576
577 2006-07-20  Roger Sayle  <roger@eyesopen.com>
578
579         * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
580         if the target assembler is GNU binutils' gas.
581         * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
582         whether to pass GNU gas or native as command line options.
583
584 2006-07-20  Jason Merrill  <jason@redhat.com>
585
586         * tree.c (remove_attribute): New fn.
587         * tree.h: Declare it.
588
589 2006-07-20  Paul Brook  <paul@codesourcery.com>
590
591         PR 27363
592         * cse.c (cse_insn): Add destination addresses to hash table. Check if
593         they are invalidated by this instruction.
594
595 2006-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
596
597         PR target/28427
598         * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
599
600 2006-07-20  Eric Christopher  <echristo@apple.com>
601
602         PR target/26877
603         * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
604
605 2006-07-19  Eric Christopher  <echristo@apple.com>
606
607         * config/t-slibgcc-darwin (stmp-lipo): Remove.
608         Rewrite dependencies for libgcc_s.1.dylib.
609
610 2006-07-19  Jakub Jelinek  <jakub@redhat.com>
611
612         * except.c (duplicate_eh_regions_1): Clear next_peer.
613
614 2006-07-17  Nathan Sidwell  <nathan@codesourcery.com>
615
616         * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
617         -mlongcall does not guarantee all calls will be long.
618         * doc/extend.texi (long_call/short_call): Document that longcall
619         does not guarantee a long call will be used.
620         (longcall/shortcall): Likewise.
621
622 2006-07-18  Roger Sayle  <roger@eyesopen.com>
623
624         PR middle-end/28283
625         * expmed.c (expand_shift): Additionally check that the shift_cost
626         is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
627         before implementing a LSHIFT_EXPR as a sequence of additions.
628         * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
629         middle-end that DImode shifts need to be synthesized by expand.
630
631 2006-07-18  Diego Novillo  <dnovillo@redhat.com>
632
633         PR 28410
634         * tree-ssa-operands.c (access_can_touch_variable): Update
635         comment.
636         Return true if ALIAS is .GLOBAL_VAR.
637
638 2006-07-18  David Daney  <ddaney@avtrex.com>
639
640         * gcc.c (display_help): Fix typo in help text.
641
642 2006-07-18  Olivier Hainque  <hainque@adacore.com>
643
644         * tree.h (categorize_ctor_elements): Adjust prototype and add
645         descriptive comment, both in accordance with the interface change
646         described below.
647         * varasm.c (constructor_static_from_elts_p): New function.
648         Whether a constructor node is a valid static constant initializer
649         if all its elements are.
650         (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
651         * output.h: Declare it.
652         * expr.c (categorize_ctor_elements_1): Return whether the constructor
653         is a valid constant initializer instead of computing the number of
654         non-constant elements.  Use constructor_static_from_elts_p for this
655         purpose.  Replace the head comment with an indication that this is a
656         helper for categorize_ctor_elements.
657         (categorize_ctor_elements): Same interface change as for the _1
658         helper.  Former head comment from this helper moved here, adjusted to
659         account for the interface changes.
660         (mostly_zeros_p): Adjust call to categorize_ctor_elements.
661         (all_zeros_p): Likewise.
662         * gimplify.c (gimplify_init_constructor): Decide whether we can make
663         static versions of the constructor from the categorize_ctor_elements
664         return value instead of the formerly computed number of non-constant
665         elements.
666
667 2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
668
669         * configure: Regenerate.
670         * Makefile.in (build_libsubdir): New configure substitution
671         (build_libobjdir): New variable.
672         (BUILD_LIBIBERTY): Use it.
673
674 2006-07-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
675
676         PR c/28286
677         * c-pragma.c (handle_pragma_pack): Handle invalid constants.
678
679 2006-07-18  Alexandre Oliva  <aoliva@redhat.com>
680
681         PR c/26993
682         * c-common.c (handle_weakref_attribute): Ignore attribute in
683         the same conditions the alias attribute is ignored.
684
685 2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>
686
687         * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
688         (dbxout_begin_prologue): Increment scope_labelno.
689
690 2006-07-17  Richard Henderson  <rth@redhat.com>
691
692         PR 27889
693         * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
694         if needed.
695
696 2006-07-17  Roger Sayle  <roger@eyesopen.com>
697             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
698
699         * config/i386/gmon-sol2.c: Silence compilation warnings by partially
700         synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
701         blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
702         functions such as sbrk, write, etc..  Add function prototypes.
703         Convert function declarations from K&R to ISO C.  Cast pointers
704         to "long" and "unsigned long" instead of "int" and "unsigned int".
705         Convert tokens following #endif into comments.
706
707 2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
708
709         * invoke.texi: Remove mention of f77; Reformat table for
710         inline parameter options correctly; mention that -malign-double
711         is default on x86-64 targets.
712
713 2006-07-17  Zdenek Dvorak <dvorakz@suse.cz>
714
715         * tree-chrec.c (avoid_arithmetics_in_type_p): New.
716         (convert_affine_scev, chrec_convert_aggressive): Use
717         avoid_arithmetics_in_type_p.  Do not check for the subtypes
718         separately.
719
720 2006-07-17  Richard Sandiford  <richard@codesourcery.com>
721
722         PR middle-end/28403
723         * optabs.c (expand_doubleword_shift): Wrap the call to
724         do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
725
726 2006-07-17  Richard Sandiford  <richard@codesourcery.com>
727
728         PR middle-end/28402
729         * optabs.c (expand_binop): Pass next_methods rather than methods
730         to expand_doubleword_shift.
731
732 2006-07-17  J"orn Rennecke  <joern.rennecke@st.com>
733
734         PR other/28251
735         * tree.h (dump_addr): Declare.
736         * print-tree.c (dump_addr): New function.
737         (print_node_brief, print_node): Use it.
738         * print-rtl.c (print_rtx): Likewise.
739         * common.opt (-fdump-noaddr): New option.
740         * doc/invoke.texi (-fdump-noaddr): Document.
741         * loop-unroll.c (si_info_hash): Make hash independent of addresses.
742         (ve_info_hash): Likewise.
743
744 2006-07-13  Andrew Haley  <aph@redhat.com>
745
746         PR tree-optimization/19505
747         * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
748         edge leaving this block, make sure that the destination of this
749         block has only one predecessor.
750
751 2006-07-17  Richard Guenther  <rguenther@suse.de>
752
753         PR tree-optimization/28238
754         * tree-inline.c (copy_bb): Check if we produced valid
755         gimple copying and substituting a stmt.  If not, gimplify
756         it.
757
758 2006-07-16  Eric Botcazou  <ebotcazou@adacore.com>
759
760         * optabs.c (maybe_encapsulate_block): New function extracted from...
761         (emit_libcall_block): ...here.  Invoke it on the block of insns to
762         maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
763         (emit_no_conflict_block): Likewise.
764
765 2006-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
766
767         * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
768
769 2006-07-15  Roger Sayle  <roger@eyesopen.com>
770
771         * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
772         a new NOP_EXPR case of the switch statement.
773
774 2006-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
775
776         PR middle-end/28160
777         * stor-layout.c (place_field): Take the bit field with
778         an excessive size into account in the ms-bitfiled case.
779
780         PR middle-end/28161
781         * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
782         the previous bit field.
783
784 2006-07-14  Eliot Dresselhaus  <eliot@sonic.net>
785
786         PR target/27287
787         * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
788
789 2006-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
790
791         * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
792         signal frames correctly even when the signal was installed with
793         sa_restorer set.
794
795 2006-07-14  Carlos O'Donell  <carlos@codesourcery.com>
796
797         * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
798         (dbxout_function_end): Use local label LFBB. Remove hook
799         DBX_OUTPUT_NFUN.
800         (dbxout_source_line): Use local label LFBB.
801         (dbxout_block): Likewise.
802         (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
803         (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
804         * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
805         and DBX_OUTPUT_NFUN.
806
807 2006-07-13  Janis Johnson  <janis187@us.ibm.com>
808
809         * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
810
811 2006-07-13  Jan Hubicka  <jh@suse.cz>
812
813         * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
814         align_variable.
815         * output.h (align_variable): Declare.
816         * varasm.c (align_variable): Export.
817         * value-prof.c (tree_value_profile_transformations): Recompute iterator
818         when basic block changed.
819
820 2006-07-13  Nick Clifton  <nickc@redhat.com>
821
822         * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
823         walking the LOG_LINKS chain.
824
825 2006-07-12  Geoffrey Keating  <geoffk@apple.com>
826
827         * doc/invoke.texi (C++ Dialect Options): Explain difference
828         between -fvisibility-inlines-hidden and setting hidden
829         visibility explicitly.
830
831 2006-07-12  Eric Christopher  <echristo@apple.com>
832
833         * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
834         (stmp-lipo): Depend on libgcc.a.
835
836 2006-07-12  Kazu Hirata  <kazu@codesourcery.com>
837
838         * tree.c: Fix a comment typo.
839
840 2006-07-12  Naveen.H.S  <naveenh@kpitcummins.com>
841
842         * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
843         dest.
844         (umulhisi3_r): Likewise.
845
846 2006-07-12  Paolo Carlini  <pcarlini@suse.de>
847
848         PR libstdc++/27878
849         * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
850         x < 19, vs wchar_t support.
851
852 2006-07-12  Nick Clifton  <nickc@redhat.com>
853
854         * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
855         instead of -isa=sh4.
856
857 2006-07-12  Mike Stump  <mrs@apple.com>
858
859         * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
860
861 2006-07-10  Eric Christopher  <echristo@apple.com>
862
863         * config/t-slibgcc-darwin: Rewrite.
864
865 2006-07-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
866
867         PR bootstrap/20437
868         * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
869         dependencies.
870
871 2006-07-08  Matthias Klose  <doko@debian.org>
872
873         * doc/sourcebuild.texi: Fix typo.
874
875 2006-07-07  Mike Stump  <mrs@apple.com>
876
877         * toplev.c (process_options): Don't give -ffunction-sections may
878         affect debugging warning for Mach-O.
879
880 2006-07-07  James E Wilson  <wilson@specifix.com>
881
882         * config/mips/mips.md (cpu): Add sb1a.
883         * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
884         addition to sb1.  Adjust comments to clarify SB-1A differences from
885         SB-1.
886         (ir_sb1a_load): New.  Modify bypasses to use it.
887         (ir_sb1a_simple_alu): Likewise.
888         * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
889         (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
890         (mips_issue_rate): Add PROCESSOR_SB1A.
891         (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
892         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
893         (TARGET_SB1): Add PROCESSOR_SB1A check.
894         (TUNE_SB1): Likewise.
895
896         * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
897         * config/mips/mips.c (mips_store_data_bypass_p): New.
898         * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
899         store_data_bypass_p.
900
901 2006-07-08  Paul Brook  <paul@codesourcery.com>
902
903         PR target/27991
904         * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
905
906 2006-07-07   Richard Guenther  <rguenther@suse.de>
907
908         PR middle-end/28268
909         * tree.h (build_one_cst): Declare.
910         * tree.c (build_one_cst): New function.
911         * tree-ssa-math-opts.c (get_constant_one): Remove.
912         (insert_reciprocals): Use build_one_cst.
913         * fold-const.c (fold_plusminus_mult): Likewise.
914
915 2006-07-07  Roger Sayle  <roger@eyesopen.com>
916
917         * pointer-set.c (pointer_set_destroy): Correct whitespace.
918         * cfgloopanal.c (dump_graph): Likewise.
919         * dojump.c (discard_pending_stack_adjust): Likewise.
920         * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
921         Likewise.
922         * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
923         * function.c (finalize_block_changes): Likewise.
924         * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
925         * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
926         * rtl.c (dump_rtx_statistics): Likewise.
927         * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
928         Likewise.
929         * varray.c (dump_varray_statistics): Likewise.
930         * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
931         decode_decimal64, encode_decimal128, decode_decimal128,
932         decimal_real_to_decimal): Likewise.
933
934 2006-07-07  Richard Guenther  <rguenther@suse.de>
935
936         PR tree-optimization/28187
937         * tree-vrp.c (vrp_operand_equal_p): New function.
938         (vrp_bitmap_equal_p): Likewise.
939         (update_value_range): Use them to compare old and new
940         max and min values.
941
942 2006-07-06  Roger Sayle  <roger@eyesopen.com>
943
944         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
945         a default case to switch statement to silence compiler warnings.
946
947 2006-07-06  Roger Sayle  <roger@eyesopen.com>
948
949         PR target/27968
950         * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
951         the configured assembler supports the x87's ffreep mnemonic.
952         * configure: Regenerate.
953         * config.in: Regenerate.
954
955         * config/i386/i386.c (output_387_ffreep): New function.
956         (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
957         (output_387_reg_move): Likewise.
958
959 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
960
961         Port to hosts whose 'sort' and 'tail' implementations
962         treat operands with leading '+' as file names, as POSIX
963         has required since 2001.  However, make sure the code still
964         works on pre-POSIX hosts.
965         * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
966         which says you should use "tail -c +N" rather than "tail +Nc".
967         Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
968
969 2006-07-06  Zdenek Dvorak <dvorakz@suse.cz>
970
971         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
972         argument name.
973
974 2006-07-06  David Edelsohn  <edelsohn@gnu.org>
975
976         PR target/28150
977         * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
978         PRE_{INC,DEC} of TFmode.
979
980 2006-07-06  David Edelsohn  <edelsohn@gnu.org>
981             Alan Modra  <amodra@bigpond.net.au>
982
983         PR target/28170
984         * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
985         bounds. Simplify.
986
987 2006-07-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
988
989         PR target/28285
990         * config/alpha/predicates.md (alpha_swapped_comparison_operator):
991         Remove duplicate gtu.
992
993 2006-07-05  Jason Merrill  <jason@redhat.com>
994
995         PR c++/13983
996         PR c++/17519
997         * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
998         * c-common.c (handle_packed_attribute): So don't copy it here.
999         * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
1000
1001 2006-07-05  Mike Stump  <mrs@apple.com>
1002
1003         * doc/invoke.texi (Invoking G++): Clarify prose for g++.
1004
1005 2006-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1006
1007         PR target/26146
1008         * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
1009
1010 2006-07-05  Richard Guenther  <rguenther@suse.de>
1011
1012         PR target/28158
1013         * config/i386/i386.md (*negdf2_1): Restrict pattern to
1014         TARGET_SSE2 targets if using SSE math.
1015         (*absdf2_1): Likewise.
1016
1017 2006-07-05  Richard Guenther  <rguenther@suse.de>
1018
1019         PR tree-optimization/28162
1020         * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
1021         make sure to convert the operands to the correct type.
1022
1023 2006-07-04  Paolo Bonzini  <bonzini@gnu.org>
1024
1025         PR tree-optimization/28218
1026
1027         * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
1028         to calculate and free the dominator information.
1029
1030 2006-07-04  Peter O'Gorman  <peter@pogma.com>
1031
1032         * mklibgcc.in: chmod 644 before ranlib during install.
1033
1034 2006-07-04  Andrew Stubbs <andrew.stubbs@st.com>
1035             J"orn Rennecke <joern.rennecke@st.com>
1036
1037         * configure.ac (.eh_frame data check): Use diff -b.
1038
1039 2006-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1040
1041         PR bootstrap/18058
1042         * Makefile.in (BUILD_RTL): Add build/vec.o.
1043         (build/gencondmd.o): Filter out -fkeep-inline-functions.
1044         (build/genextract): Delete.
1045         (build/genautomata): Likewise.
1046
1047 2006-07-04  Alan Modra  <amodra@bigpond.net.au>
1048
1049         PR target/28207
1050         * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
1051         128-bit IBM long doubles for ABI_V4.
1052
1053 2006-07-03  Eric Botcazou  <ebotcazou@adacore.com>
1054
1055         * tree.c (range_in_array_bounds_p): New predicate.
1056         * tree.h (range_in_array_bounds_p): Declare it.
1057         * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
1058         return a less conservative answer.
1059         * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
1060         and flag 'is_group'.
1061         (IS_ELEMENT_FOR_GROUP): New macro.
1062         (FOR_EACH_ACTUAL_CHILD): Likewise.
1063         (next_child_for_group): New helper function.
1064         (can_completely_scalarize_p): Take into account groups.
1065         (sra_hash_tree): Handle RANGE_EXPR.
1066         (sra_elt_eq): Likewise.
1067         (lookup_element): Be prepared for handling groups.
1068         (is_valid_const_index): Delete.
1069         (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
1070         instead of is_valid_const_index.
1071         <ARRAY_RANGE_REF>: New case.
1072         (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
1073         is_valid_const_index.
1074         <ARRAY_RANGE_REF>: Do not unconditionally punt.
1075         (scan_dump): Dump info for groups too.
1076         (decide_instantiation_1): Likewise.
1077         (decide_block_copy): Assert that the element is not a group.
1078         Propagate decision to groups.
1079         (generate_one_element_ref): Handle RANGE_EXPR.
1080         (mark_no_warning): Iterate over actual childs.
1081         (generate_copy_inout): Likewise.
1082         (generate_element_copy): Likewise.
1083         (generate_element_zero): Likewise.
1084         (generate_element_init_1): Likewise.
1085         (dump_sra_elt_name): Handle RANGE_EXPR.
1086
1087 2006-07-03  Roger Sayle  <roger@eyesopen.com>
1088
1089         PR tree-optimization/26251
1090         * tree-ssa-threadupdate.c (redirection_block_p): New function.
1091         (thread_block): When optimizing for size refuse to thread jumps
1092         that would require duplication of blocks other than redirection
1093         blocks.
1094
1095 2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
1096
1097         * configure.ac: Fix thinko in previous check-in.
1098         * configure: Regenerate.
1099
1100 2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
1101
1102         PR other/27063
1103         * configure.ac (for lang...): Simplify nesting of conditionals.
1104         Test subdir_requires for non-enabled languages.  Move processing
1105         of lang_opt_files and lang_tree_fiels below that test.
1106         * configure: Regenerate.
1107         * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
1108
1109 2006-07-01  Martin Michlmayr  <tbm@cyrius.com>
1110
1111         * doc/gcov.texi (Invoking Gcov): Add a missing word.
1112
1113 2006-06-30  Kazu Hirata  <kazu@codesourcery.com>
1114
1115         * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
1116         comment typos.
1117
1118 2006-06-29  Jason Merrill  <jason@redhat.com>
1119
1120         PR c++/26905
1121         PR c++/26612
1122         PR c++/27000
1123         PR c++/26984
1124         PR c++/19134
1125         * tree.c (build_decl_stat): Don't hande #pragma visibility here.
1126         * c-common.c (c_determine_visibility): Handle it here.
1127         * c-decl.c (finish_decl): Call c_determine_visibility for
1128         functions, too.
1129         * flags.h (enum symbol_visibility): Sort from most to least visibility.
1130         * tree.h: Likewise.
1131         * varasm.c (default_assemble_visibility): Likewise.
1132         * c-common.c (handle_visibility_attribute): Complain about trying
1133         to give visibility to an already defined class, or trying to change
1134         declared visibility. Always attach the attribute.
1135
1136         PR c++/26905
1137         PR c++/21675
1138         PR c++/17470
1139         * attribs.c (decl_attributes): Ignore type-in-place attributes
1140         once the type has been defined.
1141
1142 2006-06-29  Roger Sayle  <roger@eyesopen.com>
1143
1144         PR middle-end/27428
1145         * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
1146         to indicate the cpplib has issued an error message for us.
1147
1148 2006-06-29  Asher Langton  <langton2@llnl.gov>
1149
1150         PR target/25765
1151         * config/i386/i386.c (ix86_output_function_epilogue): Don't
1152         insert a label at the end of an function under Mach-O.
1153
1154 2006-06-29  Eric Christopher  <echristo@apple.com>
1155             Evan Cheng  <evan.cheng@apple.com>
1156
1157         * predicates.md (vector_all_ones_operand): New.
1158         (nonimmediate_or_sse_const_operand): Ditto.
1159         * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
1160         * config/i386/i386.c (standard_sse_constant_opcode): Define.
1161         (standard_sse_mode_p): Ditto.
1162         (standard_sse_constant_p): Add case for -1 vector.
1163         (ix86_expand_vector_move): Try to use.
1164         * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
1165         Call standard_sse_constant_opcode.
1166         (*movv4sf_internal): Ditto.
1167         (*movv2df_internal): Ditto.
1168
1169 2006-06-29  Roger Sayle  <roger@eyesopen.com>
1170
1171         * genpreds.c (write_match_code_switch): Correctly use XSTR instead
1172         of XEXP to extract the operands of a MATCH_CODE rtx.
1173
1174 2006-06-28  Andrew Pinski  <pinskia@gmail.com>
1175
1176         * tree.c (tree_size): Do not waste tail padding in
1177         struct tree_string and make the size be the same as
1178         build_string will generate.
1179
1180 2006-06-28  Jason Merrill  <jason@redhat.com>
1181
1182         PR c++/27768
1183         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
1184         may_aliases already in the tag's annotations to the bitmap.
1185
1186 2006-06-28  Roger Sayle  <roger@eyesopen.com>
1187
1188         * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
1189
1190 2006-06-28  Roger Sayle  <roger@eyesopen.com>
1191
1192         * genpreds.c (generate_switch_p): New function.
1193         (add_mode_tests): Push the new mode test down inside an AND expr
1194         if this allows the switch-suitable MATCH_CODE to be near the root.
1195         (write_match_code_switch): New function to write a MATCH_CODE as
1196         a switch statement.
1197         (write_predicate_stmts): New function to write a predicate RTX
1198         expression as a sequence of statements.
1199         (write_one_predicate_function): Use write_predicate_stmts.
1200         (write_tm_constrs_h): Likewise.
1201
1202 2006-06-26  Fred Fish  <fnf@specifix.com>
1203
1204         * config/mips/t-sb1: New file.
1205         * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
1206         tmake_file list.
1207
1208 2006-06-26  DJ Delorie  <dj@redhat.com>
1209
1210         * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
1211
1212 2006-06-26  Naveen H.S  <naveenh@kpitcummins.com>
1213             Jayant Sonar  <jayants@kpitcummins.com>
1214             Jaydeep Vipradas  <jaydeepv@kpitcummins.com>
1215
1216         * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
1217         (subsi3, subsi3_1, subsi3_2): New.
1218         * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
1219         * config/m32c/mov.md (SI mov peephole): New.
1220         * config/m32c/m32.c (m32c_immd_dbl_mov): New.
1221         * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
1222
1223 2006-06-26  Olivier Hainque  <hainque@adacore.com>
1224
1225         * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
1226         a CALL_EXPR target function declaration.
1227
1228 2006-06-26  Richard Guenther  <rguenther@suse.de>
1229
1230         * tree.c (build_string): Do not waste tail padding in
1231         struct tree_string.
1232
1233 2006-06-26  Richard Guenther  <rguenther@suse.de>
1234
1235         * ggc-page.c (init_ggc): Add missing element to size_lookup
1236         table.
1237
1238         Revert
1239         2006-06-23  Richard Guenther  <rguenther@suse.de>
1240
1241         * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
1242         sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
1243         alignment requests instead.  Add verification code.
1244         Add struct tree_function_decl and struct tree_binfo size to
1245         extra_order_size_table.  Add missing element to size_lookup
1246         table.
1247
1248 2006-06-25  Eric Botcazou  <ebotcazou@adacore.com>
1249
1250         PR middle-end/28151
1251         * fold-const.c (const_binop): Be prepared for self returning zero.
1252         Simplify code handling complex values.
1253
1254 2006-06-24  Olivier Hainque  <hainque@adacore.com>
1255
1256         * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
1257         (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
1258         aggregate types.
1259
1260 2006-06-24  Olivier Hainque  <hainque@adacore.com>
1261
1262         * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
1263         ARRAY_REF, so have the callback called for the low bound expression.
1264
1265 2006-06-23  Janis Johnson  <janis187@us.ibm.com>
1266
1267         * tree.h (DECIMAL_FLOAT_TYPE_P): New.
1268         * c-typeck.c (c_common_type): Disallow operations on decimal float
1269         types and other float types.
1270         * convert.c (convert_to_real): Don't ignore conversions involving
1271         decimal float types.
1272
1273 2006-06-23  Olivier Hainque  <hainque@adacore.com>
1274
1275         * tree.c (max_int_size_in_bytes): New function, inspired from
1276         code in function.c:assign_temp.
1277         * tree.h (max_int_size_in_bytes): Declare.
1278         * function.c (assign_temp): Use it.
1279         * gimplify.c (create_tmp_var): Relax the assertions on the type
1280         properties, not mandating constant size any more.
1281         (force_constant_size): New static function.
1282         (gimple_add_tmp_var): Use it, forcing variable size to a
1283         constant upper bound if it is not constant on entry.
1284
1285 2006-06-23  Danny Smith   <dannysmith@users.sourceforge.net>
1286
1287         PR target/27789
1288         * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
1289         for initialization and setting of one_only flag to ...
1290         (i386_pe_encode_section_info): ...here.
1291         (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
1292         Recheck that the symbol has not been defined.
1293
1294 2006-06-23  Richard Guenther  <rguenther@suse.de>
1295
1296         * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
1297         sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
1298         alignment requests instead.  Add verification code.
1299         Add struct tree_function_decl and struct tree_binfo size to
1300         extra_order_size_table.  Add missing element to size_lookup
1301         table.
1302
1303 2006-06-22  Roger Sayle  <roger@eyesopen.com>
1304             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1305
1306         PR middle-end/28131
1307         * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
1308         call to lang_hooks.types.type_for_mode returned NULL_TREE.
1309
1310 2006-06-23  Ben Elliston  <bje@au.ibm.com>
1311
1312         * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
1313         negate dn -- manipulate it directly.
1314
1315 2006-06-22  Roger Sayle  <roger@eyesopen.com>
1316             Steven Bosscher  <stevenb.gcc@gmail.com>
1317
1318         PR target/27531
1319         * reload1.c (gen_reload): Call mark_jump_label on the new insns
1320         generated by gen_move_insn to add REG_LABEL notes if necessary.
1321
1322 2006-06-22  Bob Wilson  <bob.wilson@acm.org>
1323
1324         * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
1325         (leaf_entry): Remove use of MIN_ESA.
1326
1327 2006-06-22  Zdenek Dvorak <dvorakz@suse.cz>
1328
1329         PR rtl-optimization/28121
1330         * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
1331         the entry edge.
1332
1333 2006-06-21  DJ Delorie  <dj@redhat.com>
1334
1335         * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
1336         (TN-16C-A156A/E).
1337         (mulhisi3_r): Likewise.
1338
1339 2006-06-21  Richard Sandiford  <richard@codesourcery.com>
1340
1341         PR middle-end/28034
1342         * coverage.c (coverage_counter_alloc): Leave the index type
1343         unspecified.
1344         (coverage_counter_alloc): Use null arguments for operands 2 and 3
1345         of the ARRAY_REF.
1346
1347 2006-06-21  Andrew Pinski  <pinskia@physics.uc.edu>
1348
1349         * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
1350         section from the "Options for Code Generation Conventions".
1351
1352 2006-06-21  Richard Henderson  <rth@redhat.com>
1353
1354         PR target/26347
1355         PR target/27082
1356         * config/alpha/predicates.md (small_symbolic_operand): Deny weak
1357         symbols.
1358         (global_symbolic_operand): Allow weak symbols, even if local_p.
1359
1360 2006-06-21  Eric Botcazou  <ebotcazou@adacore.com>
1361
1362         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
1363         (find_interesting_uses_address): Punt if above function returns true.
1364
1365 2006-06-21  Richard Guenther  <rguenther@suse.de>
1366
1367         * configure: Regenerated.
1368
1369 2006-06-21  Joseph Myers  <joseph@codesourcery.com>
1370
1371         * config/mips/mips.c (function_arg): Where one part of a
1372         complex argument is in registers and the other part in the stack,
1373         return a REG not a PARALLEL.
1374
1375 2006-06-21  Mark Mitchell  <mark@codesourcery.com>
1376
1377         * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
1378         when cross-compiling.  Do not substitute libstdcxx_incdir.
1379         * configure: Regenerated.
1380
1381 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
1382
1383         * varasm.c (mergeable_string_section): Check for embedded NULs and
1384         NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
1385         rather than TREE_STRING_LENGTH bytes.
1386
1387 2006-06-21  Richard Guenther  <rguenther@suse.de>
1388
1389         * ggc-page.c (extra_order_size_table): Add var_ann_d,
1390         tree_ssa_name, bitmap_element and phi_node with 4 arguments
1391         sizes.
1392
1393 2006-06-21  Richrad Guenther  <rguenther@suse.de>
1394
1395         * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
1396         Limit iteration over the dominators.
1397
1398 2006-06-20  Roger Sayle  <roger@eyesopen.com>
1399
1400         * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
1401         (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
1402
1403 2006-06-20  Richard Guenther  <rguenther@suse.de>
1404         Michael Matz  <matz@suse.de>
1405
1406         * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
1407         function.
1408         * alloc-pool.c (free_alloc_pool_if_empty): New function.
1409         * et-forest.h (et_free_pools): Prototype new function.
1410         * et-forest.c (et_free_tree_force): Free parent occurrence.
1411         (et_free_pools): New function.
1412         * dominance.c (free_dominance_info): Free et-forest alloc
1413         pools.
1414
1415 2006-06-20  Roger Sayle  <roger@eyesopen.com>
1416
1417         * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
1418         integer modes, attempt to directly construct an integer constant.
1419
1420         * fold-const.c (native_encode_vector): Determine the size of each
1421         element from the vector type instead of the first vector element.
1422
1423         * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
1424         if all of its elements/components are constant.
1425         (build_constructor_from_list): Likewise.
1426
1427 2006-06-20  Zdenek Dvorak <dvorakz@suse.cz>
1428
1429         PR tree-optimization/27331
1430         * tree-data-ref.c (free_data_ref): New function.
1431         (create_data_ref): Fail if the data reference has unknown access
1432         function.
1433         (free_data_refs): Use free_data_ref.
1434
1435 2006-06-19  Andrew Pinski  <pinskia@gmail.com>
1436
1437         PR middle-end/28075
1438         * tree-inline.c (setup_one_parameter): Strip useless
1439         type conversion before adding it to the IR.
1440         (declare_return_variable): Likewise.
1441
1442 2006-06-19  Martin Michlmayr  <tbm@cyrius.com>
1443
1444         PR c/27149
1445         * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
1446
1447 2006-06-19  Mike Stump  <mrs@apple.com>
1448
1449         * tree.c (variably_modified_type_p): VM arguments don't make the
1450         type a VM type.
1451
1452 2006-06-19  Richard Guenther  <rguenther@suse.de>
1453
1454         * tree-ssa-pre.c (try_combine_conversion): Strip useless
1455         type conversions after folding.
1456
1457 2006-06-19  Richard Guenther  <rguenther@suse.de>
1458
1459         * ggc-page.c (extra_order_size_tab): Add entries with
1460         size of struct function and basic_block.
1461         (size_lookup): Extend to cover sizes up to 511.
1462         (ggc_alloc_stat): Adjust user.
1463         (ggc_pch_count_object): Likewise.
1464         (ggc_pch_alloc_object): Likewise.
1465         (ggc_pch_write_object): Likewise.
1466
1467 2006-06-19  Zdenek Dvorak <dvorakz@suse.cz>
1468
1469         * tree-ssa-loop-niter.c (implies_ge_p): New function.
1470         (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
1471         correctly.
1472
1473 2006-06-19  Denis Chertykov  <denisc@overta.ru>
1474
1475         * config/avr/libgcc.S : Correct my wrong previous commit.
1476
1477 2006-06-19  Roger Sayle  <roger@eyesopen.com>
1478
1479         PR target/27861
1480         * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
1481         have stripped a SUBREG from the shift count, so we may need to
1482         convert_to_mode back to the type's mode before calling make_tree.
1483         Use new_amount instead of amount to avoid expanding a tree twice.
1484
1485 2006-06-19  Richard Guenther  <rguenther@suse.de>
1486
1487         PR middle-end/28045
1488         * fold-const.c (operand_equal_p): Check if the argument types
1489         have the same precision before stripping NOPs.
1490
1491 2006-06-19  Daniel Berlin  <dberlin@dberlin.org>
1492
1493         Fix PR tree-optimization/27341
1494         * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
1495         statement we get.
1496         * tree-complex.c (pass_lower_complex): Update SMT usage.
1497
1498 2006-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1499
1500         * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
1501         Add a new alternative to the constraint strings. Add move of
1502         operand 1 to 3 to the splitter definition.
1503         ("doloop_si_long"): Second contraint alternative removed.
1504
1505 2006-06-08  Anatoly Sokolov <aesok@post.ru>
1506
1507         * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
1508         (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
1509         __AVR_HAVE_LPMX__.
1510         (AVR_HAVE_MOVW) Define.
1511         (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
1512         (ASM_SPEC): Add avr25.
1513         (LINK_SPEC): Add avr25.
1514         * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
1515         (base_arch_s): Add new member 'have_movw_lpmx'.
1516         (avr_arch_types): Init 'have_movw_lpmx'.
1517         (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
1518         attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
1519         attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
1520         (avr_override_options): Init 'avr_have_movw_lpmx_p'.
1521         (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
1522         AVR_HAVE_MOVW.
1523         (avr_file_start): Do not output '.arh' derective.
1524         * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
1525         (__do_copy_data): Use __AVR_HAVE_LPMX__.
1526         * config/avr/avr.md (mcu_enhanced): Delete.
1527         (mcu_have_movw): Define.
1528         (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
1529         (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
1530         * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
1531         (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
1532         attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
1533         attiny861 and at86rf401 devices.
1534
1535 2006-06-18  Jie Zhang  <jie.zhang@analog.com>
1536
1537         * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
1538         of 4096.
1539
1540 2006-06-17  Karl Berry  <karl@gnu.org>
1541
1542         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
1543         doc/gccint.texi, doc/install.texi (@dircategory): Use
1544         "Software development" instead of "Programming", following
1545         the Free Software Directory.
1546
1547 2006-06-17  Alexandre Oliva  <aoliva@redhat.com>
1548
1549         * config/i386/i386.c (legitimate_tls_address)
1550         <TARGET_GNU2_TLS>: Add tp after DTPOFF.
1551         * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
1552         (*tls_dynamic_gnu2_combine_64): Likewise.
1553
1554 2006-06-16  Richard Guenther  <rguenther@suse.de>
1555
1556         PR middle-end/27116
1557         * fold-const.c (negate_expr_p): Do not introduce undefined
1558         overflow in negating INTEGER_CSTs.
1559         (fold_negate_expr): Rename from negate_expr.  Revert last
1560         change for folding BIT_NOT_EXPR.  Change semantics to
1561         return NULL_TREE for non-simplified negations.  Do not
1562         strip type conversions and unify type handling.
1563         (negate_expr): New function, wrap around fold_negate_expr
1564         but ensure building a tree always.  Strip type conversions
1565         here, fold to result type.
1566         (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
1567
1568 2006-06-16  Roger Sayle  <roger@eyesopen.com>
1569
1570         PR middle-end/27802
1571         * reg-stack.c (subst_stack_regs): Handle noreturn function calls
1572         that (would) return their results in stack registers.
1573
1574 2006-06-16  Michael Matz  <matz@suse.de>
1575         Richard Guenther  <rguenther@suse.de>
1576
1577         * fold-const.c (fold_truthop): Only return new tree node if
1578         we canonicalized something.
1579
1580 2006-06-16  Richard Guenther  <rguenther@suse.de>
1581
1582         * function.h (enum function_frequency): Move declaration
1583         out of struct function.
1584         (struct function): Move bool fields and the enum to the bitfield
1585         section.  Reorder elements to avoid padding.  Remove unused
1586         fields left over from the RTL inliner removal.
1587         * function.c (free_after_compilation): Do not zero removed fields.
1588         * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
1589         (ipa-type-escape.o): Likewise.
1590
1591 2006-06-16  Richard Guenther  <rguenther@suse.de>
1592
1593         * cgraph.h (struct cgraph_local_info): Turn bool elements
1594         into a bitfield.
1595         (struct cgraph_node): Likewise.
1596         (struct cgraph_varpool_node): Likewise.
1597
1598 2006-06-15  Richard Guenther  <rguenther@suse.de>
1599
1600         * fold-const.c (fold_truth_not_expr): Rename from
1601         invert_truthvalue.  Give it fold_* semantics to avoid
1602         generating garbage.
1603         (invert_truthvalue): New function.  Wrapper around
1604         fold_truth_not_expr.
1605         (optimize_minmax_comparison): Avoid creating garbage.
1606         (fold_unary): Use fold_truth_not_expr for folding
1607         TRUTH_NOT_EXPR.
1608         (fold_ternary): Replace uses of invert_truthvalue with
1609         fold_truth_not_expr where applicable.
1610         * tree.h (fold_truth_not_expr): Prototype.
1611
1612 2006-06-16  Richard Guenther  <rguenther@suse.de>
1613
1614         PR tree-optimization/27781
1615         * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
1616         * ipa-pure-const.c (target.h): Include.
1617         (analyze_function): Do not analyze functions that do not
1618         bind locally.
1619
1620 2006-06-15  Andrew MacLeod  <amacleod@redhat.com>
1621
1622         PR middle-end/27793
1623         * tree-dfa.c (referenced_vars_dup_list): Remove.
1624         (find_referenced_vars): Remove assert.
1625         (referenced_var_check_and_insert): Replace dup list with assert.
1626         * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
1627         * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
1628
1629 2006-06-15  Richard Guenther  <rguenther@suse.de>
1630
1631         * tree-ssa-structalias.c (alias_get_name): Avoid creating
1632         extra unused identifiers if not dumping.
1633         (create_variable_info_for): Likewise.
1634
1635 2006-06-15  Zdenek Dvorak <dvorakz@suse.cz>
1636
1637         * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
1638         (derive_constant_upper_bound): Derive more precise upper bound in
1639         common cases.  Return type changed to double_int.
1640         (record_estimate): Reflect the changed return type of
1641         derive_constant_upper_bound.
1642         * double-int.c (double_int_zext, double_int_sext): Fix.
1643
1644 2006-06-15  Paolo Bonzini  <bonzini@gnu.org>
1645
1646         * configure.ac (CFLAGS): Get them from the toplevel or from the
1647         configure invocation.
1648         * configure: Regenerate.
1649         * Makefile.in (CFLAGS): Substitute value provided by configure.
1650
1651 2006-06-14  Mark Mitchell  <mark@codesourcery.com>
1652
1653         PR c++/26559
1654         * c-common.h (c_finish_omp_atomic): Adjust declaration.
1655         * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
1656         rather than calling add_stmt on it.
1657         * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
1658
1659 2006-06-14  Andreas Krebbel  <krebbel1@de.ibm.com>
1660
1661         PR middle-end/27959
1662         * reload1.c (reload): Remove registers returned by update_eliminables
1663         from used_spill_regs.
1664
1665 2006-06-13  DJ Delorie  <dj@redhat.com>
1666
1667         * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
1668
1669 2006-06-13  Carlos O'Donell  <carlos@codesourcery.com>
1670
1671         * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
1672         html__strip_dir, html__mkdir_p. Enhance install-html target.
1673         * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
1674         * configure: Regenerate.
1675
1676 2006-06-13  Fariborz Jahanian <fjahanian@apple.com>
1677
1678         * fold-const.c (fold_cond_expr_with_comparison): Check for
1679         Objective-C++ as language in deciding COND_EXPR transformation.
1680
1681 2006-06-06  J"orn Rennecke <joern.rennecke@st.com>
1682
1683         PR target/28014:
1684         * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
1685         * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
1686         * config/sh/lib1funcs.h (SL, SL1): Define.
1687         * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
1688         * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
1689         * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
1690         (OBJS_Os_4_200): New variable.
1691         ($(T)libgcc-Os-4-200.a): Use it.
1692         * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
1693         when dividing 1 and/or by 0.
1694
1695 2006-06-13  Roger Sayle  <roger@eyesopen.com>
1696
1697         * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
1698         before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
1699         * configure: Regenerate.
1700
1701 2006-06-13  Jie Zhang  <jie.zhang@analog.com>
1702
1703         * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
1704         for real instruction.
1705
1706 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1707
1708         PR middle-end/26807
1709         * haifa-sched.c (check_cfg): Handle special case.
1710
1711 2006-06-13  Eric Botcazou  <ebotcazou@adacore.com>
1712
1713         PR debug/26754
1714         * gimplify.c (declare_tmp_vars): Rename into declare_vars.
1715         Add debug_info parameter.  Chain the vars to the BLOCK instead
1716         of the BIND_EXPR if debug info are requested for them.
1717         (pop_gimplify_context): Adjust for above change.
1718         (gimple_add_tmp_var): Likewise.
1719         * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
1720         Add bool parameter.
1721         * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
1722         (convert_local_reference): Likewise.
1723         (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
1724         (finalize_nesting_tree_1): Request that debug info be emitted
1725         for debug_var_chain.
1726
1727 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1728
1729         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
1730         for PR target/27863.
1731
1732 2006-06-13  Richard Guenther  <rguenther@suse.de>
1733
1734         PR middle-end/27536
1735         * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
1736
1737 2006-06-13  Richard Guenther  <rguenther@suse.de>
1738
1739         PR tree-optimization/27830
1740         * tree-inline.c (copy_body_r): For copying the operand
1741         of an ADDR_EXPR make sure to fold &* afterwards.
1742
1743 2006-06-12  Eric Botcazou  <ebotcazou@adacore.com>
1744
1745         * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
1746         lvalues in the fb_none case with side-effects.
1747
1748 2006-06-12  Kazu Hirata  <kazu@codesourcery.com>
1749
1750         * tree-flow.h: Remove the prototype for
1751         compute_phi_arg_on_exit.
1752         * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
1753         protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
1754         Remove.
1755
1756 2006-06-12  Mark Shinwell  <shinwell@codesourcery.com>
1757
1758         * builtins.c (expand_builtin_return_addr): Only use
1759         frame_pointer_rtx when count == 0 and we are expanding
1760         __builtin_return_address.
1761
1762 2006-06-12  Fred Fish  <fnf@specifix.com>
1763
1764         * config/mips/mips.c (mips_file_start): Create special section
1765         ".gcc_compiled_longXX" for o64 ABI as well as EABI.
1766
1767 2006-06-11  Eric Christopher  <echristo@apple.com>
1768
1769         PR middle-end/27948
1770         * stor-layout.c (place_field): Remove check for
1771         remaining_in_alignment when aligning at the end of a run.
1772
1773 2006-06-11  Eric Christopher  <echristo@apple.com>
1774
1775         PR 27542
1776         * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
1777         pragma.
1778
1779 2006-06-11  Roger Sayle  <roger@eyesopen.com>
1780
1781         PR target/27858
1782         Revert incorrect fix for PR target/27158
1783         2006-05-08  Roger Sayle  <roger@eyesopen.com>
1784         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
1785         of a reg_equiv_constant if the result is a legitimate constant.
1786
1787 2006-06-11  Roger Sayle  <roger@eyesopen.com>
1788
1789         PR target/27158
1790         * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
1791         extract a CONST_VECTOR element and interpret it as an integer.
1792         (vspltis_constant): Use const_vector_elt_as_int instead of the
1793         macro CONST_VECTOR_ELT in order to handle FP vector modes.
1794         * config/rs6000/predicates.md (easy_vector_const): Consider
1795         floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
1796
1797 2006-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1798
1799         PR middle-end/27942
1800         * stor-layout.c (update_alignment_for_field): Don't add extra
1801         alignment for packed non-bitfield fields in ms_bitfield_layout_p
1802         code.
1803
1804 2006-06-09  Ralf Corsepius  <ralf.corsepius@rtems.org>
1805
1806         * config/mips/t-rtems: Add EL/EB multilib variants.
1807
1808 2006-06-09  Mike Stump  <mrs@apple.com>
1809
1810         * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
1811
1812 2006-06-09  David Daney  <ddaney@avtrex.com>
1813
1814         * doc/install.texi: Add binutils version recommendation for mips-*-*.
1815
1816 2006-06-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1817
1818         * reload.c (find_reloads): Unset force_reload for 'X' constraint.
1819
1820 2006-06-09  Richard Guenther  <rguenther@suse.de>
1821
1822         PR tree-optimization/26998
1823         * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
1824         of signed types, only TYPE_MIN_VALUE is special, but for both,
1825         minimum and maximum value.  Likewise VR_ANTI_RANGE is special
1826         in this case, as is -fwrapv.
1827
1828 2006-06-08  Mike Stump  <mrs@apple.com>
1829
1830         PR target/26427
1831         * config/darwin.c (darwin_asm_output_anchor): Disable
1832         -fsection-anchors on darwin for now.
1833         * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
1834         * rs6000/rs6000.c (optimization_options): Likewise.
1835
1836 2006-06-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1837
1838         PR target/27421
1839         * config/i386/i386.c (classify_argument): Skip fields with invalid
1840         types in unions.
1841
1842 2006-06-08  Steven Bosscher  <steven@gcc.gnu.org>
1843
1844         * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
1845         (cse_insn): Likewise for the stack_pointer_rtx.
1846
1847 2006-06-08  Roger Sayle  <roger@eyesopen.com>
1848
1849         * tree-ssa-dom.c (record_conditions): Only record "unordered"
1850         conditions from floating point comparisons.
1851
1852 2006-06-08  Paolo Bonzini  <bonzini@gnu.org>
1853
1854         PR middle-end/27733
1855         * expmed.c (struct alg_hash_entry): Fix type of field T
1856         to match synth_mult argument.
1857         (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
1858
1859 2006-06-08  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1860
1861         PR target/27863
1862         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
1863         block boundaries.
1864
1865 2006-06-08  Richard Guenther  <rguenther@suse.de>
1866
1867         PR middle-end/27116
1868         * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
1869         only, if overflow is defined and not trapping.
1870         (negate_expr): Likewise.
1871
1872 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
1873
1874         PR tree-optimization/27872
1875         * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
1876         flag on the new exit edge of the unrolled loop.
1877
1878 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
1879
1880         PR rtl-optimization/26449
1881         * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
1882
1883 2006-06-07  Andrew MacLeod  <amacleod@redhat.com>
1884
1885         PR middle-end/27793
1886         * tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate
1887         referenced_variables with matching DECL_UID's.
1888         (find_referenced_vars): Make sure duplicate list is empty to start.
1889         (referenced_var_p): Remove.
1890         (referenced_var_check_and_insert): Renamed from referenced_var_insert.
1891         Check if var is in the list, and add if needed.  Update the duplicate
1892         list if a different var is in the list with the same DECL_UID.
1893         (add_referenced_var): Call routine to check and insert.
1894         * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
1895         * tree-flow.h (referenced_vars_dup_list): External declaration.
1896
1897 2006-06-07  Fred Fish  <fnf@specifix.com>
1898
1899         * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
1900         into single entry.
1901
1902 2006-06-07  Paolo Bonzini  <bonzini@gnu.org>
1903
1904         PR target/27390
1905         * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
1906         the imaginary and real parts of a clobbered register.
1907         Emit insn to set the imaginary part.
1908
1909 2006-06-06  Peter Lemieszewski  <lemie@us.ibm.com>
1910
1911         * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
1912         in lieu of unwind-dw2-fde.c.
1913
1914 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1915
1916         * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
1917
1918 2006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
1919
1920         PR target/27842
1921         * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
1922         ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
1923         ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
1924         V4SImode temporaries and operations instead.
1925
1926 2006-06-06  Joseph S. Myers  <joseph@codesourcery.com>
1927
1928         * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
1929         dp-bit.c.
1930
1931 2006-06-06  Mike Stump  <mrs@apple.com>
1932
1933         * Makefile.in: Rename to htmldir to build_htmldir to avoid
1934         installing during build.
1935
1936 2006-06-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1937
1938         * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
1939         value to 0.
1940         * doc/invoke.texi (max-sched-extend-regions-iters): Document.
1941         * config/ia64/ia64.c (params.h): New header.
1942         (ia64_optimization_options): New function to adjust parameters.
1943         * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
1944         * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
1945         * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
1946
1947 2006-06-05  Kazu Hirata  <kazu@codesourcery.com>
1948
1949         * stor-layout.c (debug_rli): Fix a typo in a debug message.
1950
1951 2006-06-05  Steve Ellcey  <sje@cup.hp.com>
1952
1953         PR target/27051
1954         * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
1955
1956 2006-06-05  Dorit Nuzman  <dorit@il.ibm.com>
1957             Victor Kaplansky  <victork@il.ibm.com>
1958
1959         PR tree-optimization/26360
1960         * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
1961         stmts.
1962
1963 2006-06-04  Roger Sayle  <roger@eyesopen.com>
1964             Andrew Pinski  <pinskia@physics.uc.edu>
1965
1966         PR middle-end/27382
1967         * c-common.c (c_common_truthvalue_conversion): Explicitly check
1968         for LABEL_DECL before calling DECL_WEAK.
1969
1970         PR c/27150
1971         * c-typeck.c (build_binary_op): Likewise, explicitly check for
1972         LABEL_DECL and PARM_DECL.
1973
1974 2006-06-05  Joseph S. Myers  <joseph@codesourcery.com>
1975
1976         PR c/25161
1977         PR c/27020
1978         * c-decl.c (grokdeclarator): Disallow variably modified types at
1979         file scope.  Avoid marking shared array type of constant size as
1980         VLA.
1981
1982 2006-06-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1983
1984         PR c++/27601
1985         * c-common.c (fold_offsetof_1): Handle static members.
1986
1987 2006-06-04 Eric Christopher <echristo@apple.com>
1988
1989         * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
1990         (debug_rli): Output value for remaining_in_alignment.
1991         (update_alignment_for_field): Unconditionalize
1992         ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
1993         extra alignment code.
1994         (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
1995         ms_bitfield_layout_p code. Rewrite handling of structure fields.
1996         * tree.h (record_layout_info_s): Remove prev_packed.
1997         * doc/extend.texi (ms_struct): Add documentation of format.
1998
1999 2006-06-04  Mark Shinwell  <shinwell@codesourcery.com>
2000
2001         * tree.h: Declare folding_initializer.
2002         * builtins.c (fold_builtin_constant_p): Give definite answer
2003         if folding inside an initializer.
2004         * fold-const.c: Define folding_initializer.
2005         (START_FOLD_INIT): Save and then set folding_initializer.
2006         (END_FOLD_INIT): Restore folding_initializer.
2007
2008 2006-06-04  Richard Guenther  <rguenther@suse.de>
2009
2010         PR tree-optimization/27039
2011         * fold-const.c (fold_comparison): Handle pointer comparison
2012         again for all comparison codes.  Compare offsets in signed
2013         size type.
2014         (fold_binary): Move code from here.
2015
2016 2006-06-03  Roger Sayle  <roger@eyesopen.com>
2017
2018         PR target/26223
2019         * config/i386/i386.c (construct_container): Split static issued_error
2020         flag into issued_sse_arg_error, issued_sse_ret_error and
2021         issued_x87_ret_error.  Issue a daignostic if the x86-64 ABI
2022         requires the use of x87 registers and the user explicitly
2023         specified the -mno-80387 command line option.
2024
2025 2006-06-02  Geoffrey Keating  <geoffk@apple.com>
2026
2027         * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
2028         HAVE_DECL_SIGALTSTACK.
2029         (MC_FLD): New.
2030         (segv_handler): Use MC_FLD.
2031         * configure.ac: Check for a sigaltstack declaration.
2032         Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
2033         * configure: Regenerate.
2034         * config.in: Regenerate.
2035
2036 2006-06-03  J"orn Rennecke <joern.rennecke@st.com>
2037
2038         PR other/27850
2039         * Makefile.in (stmp-fixinc): Fix typo.
2040
2041 2006-06-02  Roger Sayle  <roger@eyesopen.com>
2042
2043         * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
2044         are type correct.  Clean-up.
2045         <REALPART_EXPR>: Likewise.  Optimize creal(~z) as creal(z).
2046         <IMAGPART_EXPR>: Likewise.  Optimize cimag(~z) as -cimag(z).
2047
2048 2006-06-01  DJ Delorie  <dj@redhat.com>
2049
2050         * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
2051         shift, as we've disabled the "switch" insn that needs it.
2052
2053 2006-06-01  Per Bothner  <bothner@bothner.com>
2054
2055         Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
2056         * c-opts.c (finish_options): Use internal line 0 for <command-line>.
2057         * c-ppoutput.c (cb_define): Don't increment line 0.
2058
2059 2006-06-01  Pete Steinmetz  <steinmtz@us.ibm.com>
2060
2061         * doc/invoke.texi: Add cpu_type power6.
2062         * config.gcc: Add cpu_type power6.
2063         * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
2064         to power5+ with Altivec.
2065         * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
2066         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
2067
2068 2006-05-30  Anatoly Sokolov <aesok@post.ru>
2069
2070         * config/avr/avr.h (SET_ASM_OP): Define.
2071
2072 2006-06-01  Kazu Hirata  <kazu@codesourcery.com>
2073
2074         * config/bfin/bfin.c: Fix comment typos.
2075
2076 2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
2077
2078         PR 25453
2079         * doc/install.texi: Document --enable-bootstrap and
2080         --disable-bootstrap.
2081
2082 2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
2083
2084         * doc/install.texi: Document that InfoZIP can replace jar.
2085
2086 2006-05-31  Roger Sayle  <roger@eyesopen.com>
2087
2088         * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
2089         isn't available, directly generate the simpler x87 patterns without
2090         the (use (const_int 0)).
2091         * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
2092         implementation isn't available.
2093         (*negdf2_1): Likewise.
2094         (*negxf2_1): XF mode negation is always done using the x87.
2095         (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
2096
2097 2006-05-31  Roger Sayle  <roger@eyesopen.com>
2098
2099         * builtins.c (fold_builtin_cabs): Delete prototype.  Require an
2100         additional FNDECL argument.  Optimize cabs(-z) and cabs(~z) as
2101         cabs(z).
2102         (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
2103
2104 2006-05-31  Jie Zhang  <jie.zhang@analog.com>
2105
2106         * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
2107         * config/bfin/bfin.c (basic-block.h): Include.
2108         (struct machine_function): New.
2109         (bfin_init_machine_status): New.
2110         (override_options): Initialize init_machine_status.
2111         (bfin_hardware_loop): New.
2112         (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
2113         (DEF_VEC_P (loop_info)): New.
2114         (DEF_VEC_ALLOC_P (loop_info,heap)): New.
2115         (struct loop_info): New.
2116         (loop_info): New typedef.
2117         (struct loop_work): New.
2118         (loop_work): New typedef.
2119         (DEF_VEC_O (loop_work)): New.
2120         (DEF_VEC_ALLOC_O (loop_work,heap)): New.
2121         (bfin_dump_loops): New.
2122         (bfin_bb_in_loop): New.
2123         (bfin_scan_loop): New.
2124         (bfin_optimize_loop): New.
2125         (bfin_reorg_loops): New.
2126         (bfin_reorg): Use bfin_reorg_loops.
2127         * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
2128         loop registers.
2129         (I_REGNO_P): Simplify.
2130         (DP_REGNO_P, DPREG_P): New macros.
2131         (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
2132         REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
2133         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2134         Add LT_REGS, LC_REGS, LB_REGS.
2135         (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
2136         'l' for LB_REGS.
2137         (REGNO_REG_CLASS): Deal with loop registers.
2138         * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
2139         letters.
2140         (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
2141         New constants for loop registers.
2142         (UNSPEC_LSETUP_END): New.
2143         (seq_insns): New define_attr. Set it for appropriate insns.
2144         (movsi_insn): Add alternatives for move from/to
2145         loop count registers.
2146         (doloop_end): New define_expand.
2147         (loop_end): New define_insn.
2148         (define_split for bad doloop_end): New.
2149         (lsetup_with_autoinit): New define_insn.
2150         (lsetup_without_autoinit): New define_insn.
2151         (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
2152         * config/bfin/predicates.md (lc_register_operand): New.
2153         (lt_register_operand): New.
2154         (lb_register_operand): New.
2155         (nondp_register_operand): New.
2156         (nondp_reg_or_memory_operand): New.
2157         * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
2158
2159 2006-05-31  Jie Zhang  <jie.zhang@analog.com>
2160
2161         * config/bfin/bfin.c (bfin_delegitimize_address): New.
2162         (TARGET_DELEGITIMIZE_ADDRESS): Define.
2163
2164 2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
2165
2166         * Makefile.in (CATALOGS): Add po/ prefix.
2167         * configure: Regenerated.
2168
2169 2006-05-31  Richard Earnshaw  <richard.earnshaw@arm.com>
2170
2171         PR target/27829
2172         * arm.c (arm_print_operand case 'S'): Validate that the operand is
2173         a shift operand before calling shift_op.  Avoid redundant call of
2174         shift_op.
2175
2176 2006-05-30  Naveen.H.S  <naveenh@kpitcummins.com>
2177             DJ Delorie  <dj@redhat.com>
2178
2179         * config/m32c/m32c.c (m32c_expand_insv): Check that the value
2180         we're inserting is a singlt-bit constant.
2181
2182 2006-05-30  Roger Sayle  <roger@eyesopen.com>
2183
2184         * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
2185         width to HOST_WIDE_INT to avoid comparison warnings on some targets.
2186
2187 2006-05-30  Roger Sayle  <roger@eyesopen.com>
2188
2189         PR tree-optimization/23452
2190         * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
2191         to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
2192         (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
2193         complex values and with -ffast-math for FP complex values.
2194
2195 2006-05-30  Kazu Hirata  <kazu@codesourcery.com>
2196
2197         * c-common.h: Remove the prototype for yyparse.
2198         * rtl.h: Remove the prototype for init_loop.
2199
2200 2006-05-30  Andreas Krebbel  <krebbel1@de.ibm.com>
2201
2202         * cse.c (validate_canon_reg, cse_insn): Don't change insns without
2203         calling recog.
2204
2205 2006-05-30  Roger Sayle  <roger@eyesopen.com>
2206
2207         * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
2208         and rotate cases.
2209         <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
2210         log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
2211
2212 2006-05-30  Dirk Mueller  <dmueller@suse.de>
2213
2214         PR c/27273
2215         * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
2216         for CONSTANT_CLASS_P expresisons.
2217
2218 2006-05-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2219
2220         PR c/27718
2221         * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
2222
2223 2006-05-30  Zdenek Dvorak <dvorakz@suse.cz>
2224
2225         PR tree-optimization/27779
2226         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
2227         initial_condition instead of CHREC_LEFT.
2228
2229 2006-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>
2230
2231         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
2232         * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
2233         Make prototypes ISO C90.
2234
2235 2006-05-30  Mircea Namolaru  <namolaru@il.ibm.com>
2236             Leehod Baruch    <leehod.baruch@weizmann.ac.il>
2237
2238         * see.c (see_analyze_one_def): Correct check.
2239         (see_get_extension_data): Check if extension is parallel.
2240         (see_get_extension_reg): Likewise.
2241
2242 2006-05-30  Uros Bizjak  <uros@kss-loka.si>
2243
2244         PR target/27790
2245         * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
2246         into register for (code == GTU).
2247
2248 2006-05-29  Roger Sayle  <roger@eyesopen.com>
2249
2250         PR tree-optimization/24964
2251         * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
2252         <MULT>: Minor clean-up.  Don't convert x*-1.0 into -x if we honor
2253         signaling NaNs.  Optimize -x*-x as x*x for all float modes, and
2254         abs(x)*abs(x) as x*x for scalar floating point modes.
2255
2256 2006-05-29  Sebastian Pop  <pop@cri.ensmp.fr>
2257
2258         PR middle-end/27745
2259         * lambda-code.c (perfect_nestify): Don't copy statements
2260         in the inner loop: move them to the inner loop header.
2261
2262 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
2263
2264         PR 26237
2265         * c-tree.texi: Document OpenMP directives and clauses.
2266
2267 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
2268
2269         * varasm.c (globalize_decl): Fix indentation.
2270
2271 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
2272
2273         PR 26242
2274         * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
2275         pass_fre, pass_store_ccp, pass_copy_prop,
2276         pass_store_copy_prop, pass_merge_phi, pass_nrv,
2277         pass_return_slot, pass_object_size, pass_lim,
2278         pass_linear_transform, pass_empty_loop, pass_complete_unroll,
2279         pass_loop_prefetch and pass_stdarg.
2280
2281 2005-05-29  Bernd Schmidt  <bernd.schmidt@analog.com>
2282
2283         * config/bfin/bfin.opt (mfdpic): New option.
2284         * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
2285         (EXTRA_MULTILIB_PARTS): Likewise.
2286         (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
2287         (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
2288         multilib.
2289         * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
2290         (CRT_CALL_STATIC_FUNCTION): New.
2291         * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
2292         -shared.
2293         (CRT_CALL_STATIC_FUNCTION): New.
2294         * config/bfin/bfin.c (legitimize_pic_address): Now static.  Handle
2295         FD-PIC moves.
2296         (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
2297         (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
2298         (initialize_trampoline): Changed to handle FD-PIC code generation.
2299         (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
2300         (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
2301         (override_options): Disallow -mid-shared-library -mfdpic combination.
2302         Can't do unaligned ops if FD-PIC.
2303         Turn off flag_pic if trying to generate non-id-shared-library
2304         non-fdpic code, since it's not supported.
2305         (bfin_assemble_integer): New function.
2306         (TARGET_ASM_INTEGER): Define.
2307         * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
2308         __BFIN_FDPIC__.
2309         * config/bfin/crtn.s: Restore them.
2310         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
2311         if TARGET_FDPIC.
2312         (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
2313         LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
2314         (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
2315         (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
2316         (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
2317         call-used.
2318         (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
2319         FDPIC_REGS and FDPIC_FPTR_REGS.
2320         (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
2321         * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
2322         UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
2323         (load_funcdescsi): New pattern.
2324         (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
2325         sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
2326         call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
2327
2328 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
2329
2330         * gcse.c, rtlanal.c: Remove obsolete comments associated with
2331         loop.c.
2332
2333         * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
2334
2335         * tree-flow.h: Remove the prototype for add_type_alias.
2336         * tree-ssa-alias.c (add_type_alias): Remove.
2337
2338 2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
2339
2340         * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
2341         config/fr30/fr30.md, config/i386/i386-interix.h,
2342         config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
2343         config/sh/superh64.h, config/v850/v850.c, df-core.c,
2344         df-problems.c, df.h, except.c, final.c, haifa-sched.c,
2345         lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
2346         reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
2347         tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
2348         Follow spelling conventions.
2349         * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
2350         Follow spelling conventions.
2351
2352 2006-05-27  Richard Guenther  <rguenther@suse.de>
2353
2354         PR middle-end/27773
2355         * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
2356         to produce a constant of value 1 of generic type.
2357
2358 2006-05-27  Dirk Mueller  <dmueller@suse.de>
2359
2360         * cgraphunit.c (decide_is_function_needed): Fix wrong
2361         PR reference.
2362
2363 2006-05-26  Ulrich Weigand  <uweigand@de.ibm.com>
2364
2365         PR rtl-optimization/27661
2366         * reload.c (find_reloads): When reloading a VOIDmode constant
2367         as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
2368         use Pmode as mode of the reload register.
2369
2370 2006-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2371
2372         * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
2373         is enabled at -O and above.
2374
2375 2006-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2376
2377         PR target/27571
2378         * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
2379         table data.
2380
2381 2006-05-25  Mark Mitchell  <mark@codesourcery.com>
2382
2383         PR c++/20103
2384         * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
2385         for anonymous variables explicitly declared by front ends.
2386
2387 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2388
2389         * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
2390         (struct alias_info): Add new field ref_all_symbol_mem_tag.
2391         * tree-ssa-alias.c (compute_may_aliases): If the program contains
2392         ref-all pointers, run a finalization pass for them.
2393         (compute_flow_insensitive_aliasing): Skip ref-all pointers.
2394         (finalize_ref_all_pointers): New function.
2395         (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
2396         regular pointer type to a ref-all pointer type.
2397         (get_tmt_for): Return the special memory tag for ref-all pointers.
2398
2399 2006-05-25  Richard Guenther  <rguenther@suse.de>
2400
2401         PR middle-end/27743
2402         * fold-const.c (fold_binary): Do not look at the stripped
2403         op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
2404
2405 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2406
2407         * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
2408         for LT and GT if the computed range is effectively empty.
2409
2410 2006-05-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2411
2412         PR target/27627
2413         * pa/pa-modes.def: Use mips_single_format, mips_double_format and
2414         mips_quad_format formats instead of ieee_single_format,
2415         ieee_double_format and ieee_quad_format formats, respectively.
2416
2417 2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
2418
2419         PR tree-optimization/27639
2420         PR tree-optimization/26719
2421         * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
2422         call to scev_probably_wraps_p.
2423         * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
2424         used_in_pointer_arithmetic_p, convert_step): Removed.
2425         (nowrap_type_p): New function.
2426         (scev_probably_wraps_p): Rewritten.
2427         * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
2428         chrec_convert if chrec_convert_aggressive might have been used.
2429         * tree-chrec.c (convert_affine_scev, chrec_convert_1,
2430         scev_direction): New functions.
2431         (chrec_convert): Changed to a wrapper over chrec_convert_1.
2432         * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
2433         instead of convert_step.
2434         * tree-flow.h (scev_probably_wraps_p): Declaration changed.
2435         (convert_step): Declaration removed.
2436         (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
2437
2438 2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
2439
2440         * df-core.c: Added to header comments.
2441         * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
2442         df_ur_bb_info, df_urec_bb_info): Added comments.
2443         * df-problems (df_ref_bitmap, ru, rd, lr, ur,
2444         urec, ri problems): Fixed header comments.
2445         (df_ru_transfer_function): Fixed in-out set dyslexia when copying
2446         code from df_rd_transfer_function.
2447
2448 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
2449
2450         * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
2451         (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
2452         MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
2453
2454 2006-05-23  Joseph Myers  <joseph@codesourcery.com>
2455
2456         * expr.c (undefined_operand_subword_p): New.
2457         (emit_move_multi_word): Do not generate move from undefined bits
2458         of a paradoxical subreg.
2459
2460 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
2461
2462         PR rtl-optimization/27736
2463         * combine.c (replaced_rhs_value): New variable.
2464         (combine_instructions): Set it.
2465         (distribute_notes): When distributing a note in replaced_rhs_insn,
2466         check whether the value was used in replaced_rhs_value.
2467
2468 2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
2469
2470         PR c++/26757
2471         * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
2472         add_referenced_var instead of add_referenced_tmp_var.
2473         * tree-complex.c (create_one_component_var): Use add_referenced_var.
2474         * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
2475         add_referenced_var.
2476         * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
2477         tree_optimize_tail_calls_1): Use add_referenced_var.
2478         * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
2479         * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
2480         Use add_referenced_var.
2481         * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
2482         * gimplify.c (force_gimple_operand): Use add_referenced_var.
2483         * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
2484         Use add_referenced_var.
2485         * tree-dfa.c (struct walk_state): Remove.
2486         (find_referenced_vars): Remove walk state and vars_found hash table.
2487         (make_rename_temp): Use add_referenced_var.
2488         (find_vars_r): Pass less parameters to add_referenced_var.
2489         (referenced_var_p): New.  Is var in referenced_var hash table.
2490         (referenced_var_insert): Assert var isn't already in hash table.
2491         (add_referenced_var): Don't need walk_state parameter.  Add var if it
2492         isn't already in the hash table.
2493         (add_referenced_tmp_var): Remove.
2494         (find_new_referenced_vars_1): Use add_referenced_var.
2495         * tree-ssa-pre.c (create_expression_by_pieces,
2496         insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
2497         Use add_referenced_var.
2498         * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
2499         * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
2500         lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
2501         add_referenced_var.
2502         * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
2503         vect_create_data_ref_ptr, vect_create_destination_var,
2504         vect_init_vector, vect_build_loop_niters,
2505         vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
2506         vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
2507         Use add_referenced_var.
2508         * tree-outof-ssa.c (create_temp): Use add_referenced_var.
2509         * tree-flow.h (add_referenced_tmp_var): Remove prototype
2510         (add_referenced_var): Add prototype.
2511         * tree-ssa-structalias.c (get_constraint_for,
2512         intra_create_variable_infos): Use add_referenced_var.
2513
2514 2006-05-23  Alexandre Oliva  <aoliva@redhat.com>
2515
2516         * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
2517         big-endian paradoxical subregs.
2518         * var-tracking.c (struct micro_operation_def): Document that,
2519         for modify micro operations, insn is the subsequent instruction.
2520         (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
2521         (var_reg_set, var_mem_set): ... new functions.
2522         (add_stores): Record subsequent insn.
2523         (compute_bb_dataflow): Use new functions for MO_USE.
2524         (emit_notes_in_bb): Use new functions for MO_USE.  Emit use
2525         notes after the insn, and modify notes before the insn known
2526         to be the subsequent one.
2527         (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
2528
2529 2006-05-23  Kazu Hirata  <kazu@codesourcery.com>
2530
2531         PR target/27696
2532         * config/i386/i386.c (ix86_expand_builtin): Use
2533         gen_sse3_monitor64 for TARGET_64BIT.
2534
2535 2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
2536
2537         PR rtl-optimization/26375
2538         PR rtl-optimization/26855
2539         * df-problems (df_ru_bb_local_compute_process_def): Removed update
2540         to gen set.
2541         (df_ru_bb_local_compute): Reversed statements and removed bogus
2542         comment explaining why they should be in wrong order.
2543         (df_ru_dump, df_rd_dump): Enhanced debug info.
2544         * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
2545         debug info.
2546         * ddg.c (add_deps_for_def): Converted use of reaching defs to
2547         reaching uses and fixed space problem.
2548
2549 2006-05-23  Jan Hubicka  <jh@suse.cz>
2550
2551         * cgraphunit.c (decide_is_function_needed): Also nested functions
2552         and functions declared inline can be optimized out at -O0.
2553
2554 2006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
2555
2556         * doc/install.texi (Configuration): Remove reference to CrossGCC
2557         FAQ which was gone.
2558         (Building): Ditto.
2559
2560 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
2561
2562         PR target/27266
2563         * config/i386/i386.c (ix86_expand_branch): Jump to simple if
2564         ix86_compare_emitted is non-NULL.
2565
2566 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2567
2568         PR c++/27451
2569         * stmt.c (expand_asm_operands): Skip asm statement with erroneous
2570         clobbers.
2571
2572 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
2573
2574         PR rtl-optimization/25514
2575         * combine.c (replaced_rhs_insn): New variable.
2576         (combine_instructions): Set replaced_rhs_insn when trying to replace
2577         a SET_SRC with a REG_EQUAL note.
2578         (distribute_notes): Use replaced_rhs_insn when determining the live
2579         range of a REG_DEAD register.
2580
2581 2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
2582             Anatoly Sokolov <aesok@post.ru>
2583
2584         * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
2585         attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
2586         attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
2587         atmega164p, atmega324p, atmega644p, atmega644, atmega329,
2588         atmega3290, atmega649, atmega6490, atmega406, atmega640,
2589         atmega1280, atmega1281, at90can32, at90can64, at90usb646,
2590         at90usb647, at90usb1286 and at90usb1287 devices.
2591         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2592         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2593
2594 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
2595
2596         * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
2597
2598 2006-05-22  Richard Guenther  <rguenther@suse.de>
2599
2600         Revert
2601         2006-01-31  Richard Guenther  <rguenther@suse.de>
2602         Paolo Bonzini  <bonzini@gnu.org>
2603
2604         * doc/install.texi (--disable-libgcc-math): Document.
2605
2606 2006-05-22  Richard Guenther  <rguenther@suse.de>
2607
2608         Revert
2609         2006-01-31  Richard Guenther  <rguenther@suse.de>
2610
2611         * doc/invoke.texi (-msselibm): Document.
2612         * target.h (expand_library_builtin): New target hook.
2613         * builtins.c (expand_builtin): Use expand_library_builtin.
2614         (default_expand_library_builtin): New function.
2615         * gcc.c (LINK_GCC_MATH_SPEC): Define.
2616         (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
2617         (link_gcc_math_spec): Declare.
2618         (static_specs): Add link_gcc_math_spec.
2619         * expr.h (default_expand_library_builtin): Declare.
2620         * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
2621         (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
2622         * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
2623         * config/i386/i386.opt (msselibm): New target option.
2624         * config/i386/i386.c (ix86_builtin_function_variants): New array.
2625         (ix86_init_sse_abi_builtins): New function.
2626         (ix86_expand_library_builtin): Likewise.
2627         (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
2628         (override_options): Handle error conditions wrt -msselibm.
2629         (ix86_builtins): Add function codes for SSE2 ABI builtins.
2630         (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
2631         * doc/extend.texi (__builtin_sse2_*): Document new target specific
2632         builtins.
2633
2634 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2635
2636         PR c/27420
2637         * c-common.c (self_promoting_args_p): Skip erroneous args.
2638
2639         PR c/26818
2640         * c-decl.c (finish_struct): Skip erroneous fields.
2641
2642 2006-05-22  Nick Clifton  <nickc@redhat.com>
2643
2644         * config/cris/cris.opt (march): Remove VarExists attribute.
2645         (max-stackframe=): Likewise.
2646
2647 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
2648
2649         * doc/rtl.texi: Fix a typo.
2650         * see.c: Fix comment typos.
2651
2652         * tree-ssa-structalias.h (alias_info): Remove num_references.
2653
2654 2006-05-21  Mike Stump  <mrs@apple.com>
2655
2656         * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
2657         (BAD2): Add.
2658         (darwin_pragma_options): Use BAD instead.
2659         (darwin_pragma_unused): Likewise.
2660         (darwin_pragma_ms_struct): Likewise.
2661
2662 2006-05-21  David Edelsohn  <edelsohn@gnu.org>
2663
2664         * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
2665
2666 2006-05-21  Kazu Hirata  <kazu@codesourcery.com>
2667
2668         PR rtl-optimization/27671
2669         * simplify-rtx.c (simplify_relational_operation_1): Fix
2670         simplifications of (eq/ne (xor x y) y) and
2671         (eq/ne (xor x y) x).
2672
2673         PR tree-optimization/26622.
2674         * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
2675         on arg1.
2676
2677 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
2678
2679         * tree-cfg.c: Prune whitespace.
2680         (debug_tree_cfg): Point to correct header containing the
2681         TDF_* defines.
2682
2683 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
2684
2685         PR middle-end/25776
2686         * cgraphunit.c (verify_cgraph_node): Typo in error message.
2687
2688 2006-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
2689
2690         PR middle-end/25776
2691         * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
2692         or sorry count is non zero.
2693
2694 2006-05-20  Andreas Schwab  <schwab@suse.de>
2695
2696         * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
2697
2698 2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
2699             Kenneth Zadeck <zadeck@naturalbridge.com>
2700
2701         PR rtl-optimization/26855
2702
2703         * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
2704         multiword refs.
2705         (df_scan_alloc): Added code to properly handle multiword hard
2706         registers and add all_blocks parameter.
2707         (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
2708         code to properly handle multiword hard registers.
2709         (df_rescan_blocks): Added code to remove deleted blocks from
2710         bitmap.
2711         (df_ref_create_structure, df_ref_record): Added code to properly
2712         handle subregs.
2713         (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
2714         and set DF_REF_PARTIAL.
2715         (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
2716         (df_uses_record): Added DF_REF_PARTIAL for subreg.
2717         (df_scan_add_problem): Added flags parameter.
2718         (df_ref_create_structure): Changed switching structure.
2719         (df_bb_refs_record): Fixed case where duplicate artificial refs
2720         were created.  Changed location of flags.
2721         (df_record_entry_block_defs): Added code to make stack pointer
2722         live in entry block.  Refined cases where frame pointer is needed.
2723         Changed location of flags.
2724         (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
2725         (df_set_state): Removed function.
2726         (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
2727         df_insn_create_insn_record, df_insn_refs_delete,
2728         df_ref_create_structure): Formatting changes.
2729         * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
2730         df_delete_basic_block): New function.
2731         (df_init): Changed location of flags.
2732         (df_add_problem): Added flags parameter and the way flags are
2733         processed.
2734         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
2735         debug_df_chain): Improved debugging output.
2736         (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
2737         (df_refs_chain_dump): Removed df parameter.
2738         (df_iterative_dataflow): Added consistency check.
2739         (df_prune_to_subcfg): Made public.
2740         (df_analyze_problem): Added blocks_to_init parameter and made
2741         public.
2742         (df_ref_record, df_bb_refs_record, df_mark_reg,
2743          df_record_exit_block_uses): Whitespace changes.
2744         (df_dump): Whitespace changes.
2745         * df.h: Some reordering to remove forward references.
2746         (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
2747         DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
2748         (df_ref_flags.DF_REF_CLOBBER): Deleted field.
2749         (dataflow.flags): New field.
2750         (df.flag): Deleted field.
2751         (df_alloc_function): Added additional bitmap parameter.
2752         (df_dependent_problem_function): New type.
2753         (df_problem.changeable_flags): New field.
2754         (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
2755         DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
2756         (df_mw_hardreg): New struct.
2757         (DF_INSN_UID_MWS): New macro.
2758         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
2759         parameter.
2760         (df_add_problem, df_ru_add_problem, df_rd_add_problem,
2761         df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
2762         df_ri_add_problem, df_scan_add_problem): Added flags parameter.
2763         (df_set_state): Removed function.
2764         (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
2765         * df-problems.c (df_chain_dump): Removed df parameter.
2766         (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
2767         df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
2768         parameter.
2769         (df_ru_alloc, df_rd_alloc): Now resets all blocks.
2770         (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
2771         df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
2772         Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
2773         DF_REF_MUST_CLOBBER cases.
2774         (df_ru_bb_local_compute_process_def,
2775         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
2776         df_lr_bb_local_compute, df_ur_bb_local_compute,
2777         df_chain_create_bb): Made subreg aware.
2778         (df_ru_bb_local_compute, df_rd_bb_local_compute,
2779         df_lr_bb_local_compute, df_lr_bb_local_compute,
2780         df_chain_create_bb): Cleanup to use proper macros.
2781         (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
2782         code to fixup bitvectors.
2783         (df_ri_alloc): Cleared lifetime.
2784         (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
2785         df_create_unused_note): New function.
2786         (df_ri_bb_compute, df_ri_compute): Added code to create/update
2787         REG_DEAD and REG_UNUSED notes as well as register information.
2788         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
2789         df_chains_dump): Fixed crash if problem was never run.
2790         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
2791         df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
2792         df_ri_add_problem): Processes flags in uniform manner.
2793         (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
2794         df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
2795         df_rd_dump, df_urec_free_bb_info): Formatting changes.
2796         (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
2797         df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
2798         df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
2799         df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
2800         df_ur_dump, df_urec_free_bb_info, df_urec_dump,
2801         df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
2802         * modulo-sched.c (sms_schedule): Added flag parameter to calls.
2803         * see.c (see_initialize_data): Ditto.
2804         * final.c (rest_of_clean_state) Added regstack_completed.
2805         * rtl.h (regstack_completed): Ditto.
2806         * reg-stack.c (regstack_completed): Ditto.
2807
2808 2006-05-19  Mike Stump  <mrs@apple.com>
2809
2810         * c-tree.h (default_conversion): Remove.
2811         * c-common.h (default_conversion): Add.
2812
2813 2006-05-19  Zdenek Dvorak <dvorakz@suse.cz>
2814
2815         * tree-vrp.c (valid_value_p): New function.
2816         (adjust_range_with_scev): Fail if the value of bound is not
2817         simple.
2818
2819 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
2820
2821         * config/mips/linux-unwind.h: Include <asm/unistd.h>
2822         (mips_fallback_frame_state): Use syscall numbers to determine
2823         the appropriate li instruction for the current ABI.  Only use
2824         __NR_sigreturn for o32.
2825
2826 2006-05-19  Nicolas Setton  <setton@adacore.com>
2827
2828         * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
2829         * langhooks.c (lhd_dwarf_name): New function.
2830         * langhooks-def.h (lhd_dwarf_name): Declare.
2831         (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
2832         * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
2833         * ada/misc.c (gnat_dwarf_name): New function.
2834         (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
2835
2836 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
2837
2838         * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
2839         libgcc2.h.
2840         (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
2841         MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
2842         LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
2843         * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
2844         Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
2845         determine the size of Wtype, etc.
2846         * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
2847         (swfloatfuncs): New variable.
2848         (dwfloatfuncs): Likewise.
2849         (lib2funcs): Remove floating-point conversion functions from
2850         initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
2851         the set of conversion routines needed.  Allow entries to specify
2852         an object name, filename and word size.  Update users accordingly.
2853         * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
2854         * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
2855
2856         Revert:
2857
2858         2006-02-08  Roger Sayle  <roger@eyesopen.com>
2859
2860         PR target/22209
2861         * config/fixtfdi.c: New libgcc source file.
2862         * config/fixunstfdi.c: New source file.
2863         * config/floatditf.c: New source file.
2864         * config/floatunditf.c: New souce file.
2865         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
2866         files above instead of config/mips/_tilib.c.
2867         * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
2868
2869 2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2870
2871         * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
2872         * pa/pa-hpux11.h (LIB_SPEC): Update comment.
2873
2874 2006-05-18  Mike Stump  <mrs@apple.com>
2875
2876         Fix up vla, vm and [*] sematics.
2877
2878         PR c/18740
2879         PR c/7948
2880         PR c/25802
2881         PR c/27673
2882         * c-tree.h (struct c_arg_info): Add had_vla_unspec.
2883         (c_vla_unspec_p): Add.
2884         (c_vla_type_p): Add.
2885         * c-decl.c (struct c_scope): Add had_vla_unspec.
2886         (build_array_declarator): Add support for [*].
2887         (grokdeclarator): Likewise.
2888         (grokparms): Likewise.
2889         (get_parm_info): Likewise.
2890         * c-objc-common.c (c_vla_unspec_p): Likewise.
2891         * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
2892         * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
2893         typeof when argument is a variably modified type not inside sizeof or alignof.
2894         (c_parser_direct_declarator_inner): Propagate errors.
2895         (c_parser_sizeof_expression): Add support for [*].
2896         (c_parser_parms_declarator): Initialize had_vla_unspec.
2897         (c_parser_parms_list_declarator): Likewise.
2898         * c-typeck.c (c_vla_type_p): Add.
2899         (composite_type): Add support for vla compositing.
2900         (comptypes_internal): Add support for vla compatibility.
2901         (c_expr_sizeof_expr): Evaluate vla arguments.
2902         * tree.c (variably_modified_type_p): Update comment for [*].
2903
2904 2006-05-18  Michael Matz  <matz@suse.de>
2905
2906         PR target/27599
2907         * config.host: Make assignments to host_xmake_file cumulative.
2908         * config.host (*-darwin*): Test $host, not $target.
2909
2910 2006-05-12  Stuart Hastings  <stuart@apple.com>
2911
2912         * config/i386/i386.opt (-mstackrealign): New flag.
2913         * config/i386/i386.c (force_align_arg_pointer): New attribute.
2914         (ix86_handle_cconv_attribute): Emit error when
2915         force_align_arg_pointer attribute collides with too many regparms.
2916         (ix86_function_regparm): Limit regparms when used with
2917         force_align_arg_pointer attribute.  (ix86_internal_arg_pointer):
2918         Support stack-realigning prologue in non-main functions.  Emit
2919         warning for nested functions under -mstackrealign, emit error for
2920         nested functions with force_align_arg_pointer attribute.
2921         * doc/extend.texi (force_align_arg_pointer): Document it.
2922         * doc/invoke.texi (-mstackrealign): Document it.
2923
2924 2006-05-17  Kazu Hirata  <kazu@codesourcery.com>
2925
2926         PR rtl-optimization/27477
2927         * combine.c (try_combine): Don't split a parallel consisting
2928         of two sets into two individual sets if both sets reference
2929         cc0.
2930
2931 2006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
2932
2933         * config/arm/arm.opt (target_fpe_name): Remove VarExists.
2934         * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
2935
2936         * doc/options.texi (VarExists): Updated.
2937
2938 2006-05-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2939
2940         * unwind-dw2.c: Add declarations for uw_update_context and
2941         uw_frame_state_for.
2942         * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
2943         detected, advance frame state and context once to skip over stub.
2944
2945 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
2946
2947         PR middle-end/20256
2948         PR middle-end/26435
2949         * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
2950         Call rewrite_into_loop_closed_ssa only when something changed.
2951         * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
2952         * lambda-code.c (can_convert_to_perfect_nest): Declared.
2953         (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
2954         Test for perfect_nest_p here.  Fix formating.
2955         (replace_uses_equiv_to_x_with_y): Fix formating.
2956         (stmt_uses_op): Removed.
2957         (can_convert_to_perfect_nest): Removed loopivs parameter.
2958         Complete the test by checking the scalar dependences.
2959         (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
2960         Fix formating.
2961
2962 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
2963
2964         PR bootstrap/22541
2965         From Dan Kegel <dank@kegel.com>:
2966         * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
2967
2968 2006-05-17  Eric Botcazou  <ebotcazou@adacore.com>
2969
2970         * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
2971         if the element type is variably modified without recursing.
2972
2973 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
2974
2975         PR middle-end/27332
2976         * tree-loop-linear.c (try_interchange_loops): Test for
2977         no data dependences.
2978
2979 2006-05-17  Zdenek Dvorak <dvorakz@suse.cz>
2980
2981         PR tree-optimization/27548
2982         * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
2983         range of ssa names that appear on abnormal edges.
2984         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
2985         * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
2986
2987 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
2988
2989         PR middle-end/27620
2990         * expr.c (safe_from_p): Handle CONSTRUCTOR again.
2991
2992 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
2993
2994         PR middle-end/27415
2995         * tree.h (OMP_PARALLEL_COMBINED): Define.
2996         * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
2997         (new_omp_context): Add is_combined_parallel argument.
2998         (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
2999         new_omp_context caller.
3000         (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
3001         Adjust gimplify_scan_omp_clauses callers.
3002         (omp_is_private): Issue errors if iteration variable is firstprivate
3003         or reduction in the current context.
3004         * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
3005         on combined parallel workshare constructs.
3006
3007 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
3008
3009         * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
3010         (gcc-options.o): New rule.
3011
3012         * optc-gen.awk: Protect variables for gcc-options.o with
3013         #ifdef GCC_DRIVER/#endif.
3014
3015 2006-05-16  Daniel Berlin <dberlin@dberlin.org>
3016
3017         Fix PR tree-optimization/27373
3018         * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
3019          (forward_propagate_addr_expr): Update call.
3020
3021 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
3022
3023         * doc/options.texi: Move the Negative option.
3024
3025 2006-05-16  Richard Guenther  <rguenther@suse.de>
3026
3027         PR tree-optimization/22303
3028         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
3029         from STRING_CSTs.
3030         (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
3031         ccp_fold did not simplify the statement.
3032
3033 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
3034
3035         PR driver/26885
3036         * Makefile.in (GCC_OBJS): New.
3037         (OBJS-common): Add opts-common.o.
3038         (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
3039         (cpp$(exeext)): Likewise.
3040         (gcc.o): Also depend on opts.h.
3041         (opts-common.o): New.
3042
3043         * common.opt (gcoff): Add Negative(gdwarf-2).
3044         (gdwarf-2): Add Negative(gstabs).
3045         (gstabs): Add Negative(gstabs+).
3046         (gstabs+): Add Negative(gvms).
3047         (gvms): Add Negative(gxcoff).
3048         (gxcoff): Add Negative(gxcoff+).
3049         (gxcoff+): Add Negative(gcoff).
3050         * config/i386/i386.opt (m32): Add Negative(m64).
3051         (m64): Add Negative(m32).
3052
3053         * doc/options.texi: Document the Negative option.
3054
3055         * gcc.c: Include "opts.h".
3056         (main): Call prune_options after expandargv.
3057
3058         * optc-gen.awk: Generate common declarations for all flag
3059         variables in options.c. Output the neg_index field.
3060
3061         * opts.c (find_opt): Moved to ...
3062         * opts-common.c: Here. New file.
3063
3064         * opts.h (cl_option): Add a neg_index field.
3065         (find_opt): New.
3066         (prune_options): Likewise.
3067
3068 2006-05-16  Jakub Jelinek  <jakub@redhat.com>
3069
3070         PR middle-end/27573
3071         * omp-low.c (expand_omp_parallel): Don't assert
3072         .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
3073         instead search for it.
3074
3075         PR c/27499
3076         * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
3077         is signed.
3078
3079 2006-05-16  Andreas Schwab  <schwab@suse.de>
3080
3081         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
3082         defmac.
3083
3084 2006-05-15  Roger Sayle  <roger@eyesopen.com>
3085
3086         PR target/26600
3087         * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
3088         integer constants other than zero are only legitimate on TARGET_64BIT.
3089         <CONST_VECTOR> Only zero vectors are legitimate.
3090         (ix86_cannot_force_const_mem): Integral and vector constants can
3091         always be put in the constant pool.
3092
3093 2006-05-16  DJ Delorie  <dj@redhat.com>
3094
3095         * crtstuff.c (__dso_handle): Set section from
3096         TARGET_LBIGCC_SDATA_SECTION if defined.
3097         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
3098         * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
3099
3100 2006-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
3101
3102         PR target/27599
3103         * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
3104         host_xmake_file.
3105
3106 2006-05-16  Ben Elliston  <bje@au.ibm.com>
3107
3108         * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
3109
3110 2006-05-15  Per Bothner  <per@bothner.com>
3111
3112         * tree.c: (last_annotated_node): Use source_locus typedef.
3113         This permits bootstrapping with --enable-mapped-location.
3114
3115 2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>
3116
3117         PR tree-optimization/26830
3118         * tree-into-ssa.c (struct ssa_name_info): Add age field.
3119         (info_for_ssa_name, current_info_for_ssa_name_age,
3120         blocks_to_update): New variables.
3121         (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
3122         (clear_ssa_name_info, initialize_flags_in_bb,
3123         mark_block_for_update): New functions.
3124         (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
3125         (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
3126         prepare_def_site_for): Use mark_block_for_update.
3127         (mark_def_interesting): Assert that the processed block is marked in
3128         blocks_to_update.  Do not take blocks argument.
3129         (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
3130         argument.
3131         (rewrite_update_init_block, rewrite_update_stmt): Only process
3132         blocks with statements to rewrite.
3133         (delete_update_ssa): Do not clear SSA_NAME_AUX.
3134         (update_ssa): Initialize and free blocks_to_update.  Do not
3135         clear flags on statements.  Do not use blocks bitmap.
3136         * tree.h (SSA_NAME_AUX): Removed.
3137         (struct tree_ssa_name): Removed aux field.
3138         * print-tree.c (print_node): Do not print SSA_NAME_AUX.
3139
3140 2006-05-15  Richard Guenther  <rguenther@suse.de>
3141
3142         PR tree-optimization/27603
3143         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
3144         Do computations in original type.
3145
3146 2006-05-15  Mircea Namolaru  <namolaru@il.ibm.com>
3147
3148         * see.c: Code style changes such as redundant paranthesis,
3149         redundant intialization of local variables etc.
3150         (see_main): Declared now as static.
3151         * doc/invoke.texi: Update that -fsee is not enabled by
3152         default at -O3.
3153
3154 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
3155
3156         * omp-low.c (check_omp_nesting_restrictions): New function.
3157         (scan_omp_1): Call it.
3158
3159         PR middle-end/27416
3160         * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
3161         construct, return *VAR.
3162
3163 2006-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
3164
3165         PR rtl-optimization/27406
3166         * bt-load.c (migrate_btr_def): Skip the block having abnormal
3167         edges.
3168
3169 2006-05-14  Roger Sayle  <roger@eyesopen.com>
3170
3171         PR rtl-optimization/27538
3172         * combine.c (expand_compound_operation): Call gen_lowpart
3173         before calling simplify_shift_const.
3174
3175 2006-05-14  Roger Sayle  <roger@eyesopen.com>
3176
3177         PR rtl-optimization/22563
3178         * expmed.c (store_fixed_bit_field): When using AND and IOR to store
3179         a fixed width bitfield, always force the intermediates into psuedos.
3180
3181 2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>
3182
3183         PR 27501
3184         * mkconfig.sh: Use operator = instead of == for test.
3185
3186 2006-05-13  Nick Clifton  <nickc@redhat.com>
3187
3188         * dwarf2out.c (dbx_reg_number): Check return value from
3189         LEAF_REG_REMAP and only use it if it is valid.
3190         (multiple_reg_loc_descriptor): Likewise.
3191
3192 2006-05-13  Richard Guenther  <rguenther@suse.de>
3193
3194         * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
3195         host_xmake_file.
3196
3197 2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
3198
3199         * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
3200         information attached to non-INSNs such as NOTEs.
3201         (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
3202
3203 2006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3204
3205         * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
3206         On contraint.
3207         * config/s390/s390.md: Adjust comment describing On constraint.
3208
3209 2006-05-11  Jan Hubicka  <jh@suse.cz>
3210
3211         * cgraphunit.c (decide_is_function_needed): Don't force always_inline
3212         to be output at -O0.
3213
3214 2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3215
3216         PR middle-end/27384
3217         * fold-const.c (size_binop): Move sanity check for arguments to
3218         the beginning of the function.
3219
3220         PR middle-end/27488
3221         * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
3222         expression.
3223
3224 2006-05-11  Richard Guenther  <rguenther@suse.de>
3225
3226         PR middle-end/27529
3227         * fold-const.c (fold_unary): Handle intermediate conversion
3228         to a pointer type like intermediate conversion to an integer
3229         type in folding of (T1)(T2)var to var.
3230         Match the code to the comment in the final conversion for
3231         (T1)(T2)var to (T1)var regarding to type precision.  Rather
3232         than disallow T1 being of pointer type, assert that both T1
3233         and var are of pointer type or not.  Make sure not to fall
3234         over the frontends lazyness wrt array to pointer decay though.
3235
3236 2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
3237
3238         * arm.c (arm_struct_value_rtx): Delete.
3239         (TARGET_STRUCT_VALUE_RTX): Use the default definition.
3240         (arm_init_cumulative_args): Always initialize nregs to zero.
3241
3242 2006-05-10  Richard Guenther  <rguenther@suse.de>
3243
3244         PR tree-optimization/27532
3245         * tree-object-size.c (plus_expr_object_size): Fix typo.
3246
3247 2006-05-10  Kazu Hirata  <kazu@codesourcery.com>
3248
3249         PR target/24949
3250         * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
3251         ashrdi_const, ashrdi3): Use a scratch register.
3252
3253 2006-05-10  Richard Guenther  <rguenther@suse.de>
3254
3255         PR tree-optimization/27302
3256         * fold-const.c (operand_equal_p): For two comparisons,
3257         try comparison of one comparison code swapped if that yields
3258         the same code.
3259
3260 2006-05-10  Ben Elliston  <bje@au.ibm.com>
3261
3262         * tree-pretty-print.c (pretty_print_string): No need to handle
3263         '\0' as a special character.
3264
3265         * tree.h: Include "hashtab.h".
3266         (iterative_hash_expr): Use hashval_t in its prototype.
3267         * Makefile.in (TREE_H): Add $(HASHTAB_H).
3268
3269 2006-05-09  Steve Ellcey  <sje@cup.hp.com>
3270
3271         PR bootstrap/26872
3272         * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
3273         (hppa*64*-*-hpux11*): Ditto.
3274         (hppa[12]*-*-hpux11*): Ditto.
3275
3276 2006-05-09  David Edelsohn  <edelsohn@gnu.org>
3277
3278         PR target/26545
3279         * config/rs6000/aix41.h (TARGET_64BIT): Define.
3280
3281 2006-05-09  Michael Matz  <matz@suse.de>
3282
3283         * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
3284         host_extra_gcc_objs and host_xmake_file.
3285         (<*-*-linux*>): Don't overwrite host_xmake_file.
3286         * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
3287         * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
3288         (host_detect_local_cpu): Declare.
3289         (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
3290         * config/i386/i386.c (override_options): Handle -mtune=native
3291         as -mtune=generic.
3292         * config/i386/x-i386: New file.
3293         * config/i386/driver-i386.c: New file.
3294         * doc/invoke.texi (<i386 and x86-64 Options>): Describe
3295         cpu-type "native".
3296
3297 2006-05-09  Dirk Mueller  <dmueller@suse.de>
3298         Richard Guenther  <rguenther@suse.de>
3299
3300         PR middle-end/27498
3301         * fold-const.c (fold_read_from_constant_string): Relax check
3302         for matching types to matching modes.
3303
3304 2006-05-09  Zdenek Dvorak <dvorakz@suse.cz>
3305
3306         PR rtl-optimization/27335
3307         * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
3308         loops.
3309
3310 2006-05-08  Chao-ying Fu  <fu@mips.com>
3311             Richard Sandiford  <richard@codesourcery.com>
3312
3313         * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
3314         (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
3315         * config/mips/mips.md (UNSPEC_SCC): New constant.
3316         * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
3317         * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
3318         (mips_emit_compare): Use it.
3319         (mips_expand_vcondv2sf): New function.
3320
3321 2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
3322
3323         Fix PR tree-optimization/27093
3324         * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
3325         renaming when they become not-used_alone.
3326
3327 2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3328
3329         * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
3330         relocation and relocation stubs.
3331
3332 2006-05-08  Eric Christopher  <echristo@apple.com>
3333
3334         * unwind-dw2-fde-darwin.c (examine_objects): Only check data
3335         section for ppc.
3336
3337 2006-05-08  Jan Hubicka  <jh@suse.cz>
3338
3339         PR middle-end/24561
3340         * cgraphunit.c (decide_is_function_needed): When not optimizing even
3341         unused static functions are needed.
3342
3343 2006-05-08  Roger Sayle  <roger@eyesopen.com>
3344
3345         PR target/27158
3346         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
3347         of a reg_equiv_constant if the result is a legitimate constant.
3348
3349 2006-05-08  Uros Bizjak  <uros@kss-loka.si>
3350
3351         PR target/27277
3352         * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
3353         standard 80387 constants, raise the cost to prevent
3354         compress_float_constant() to generate load from memory.
3355
3356 2006-05-08  Kazu Hirata  <kazu@codesourcery.com>
3357
3358         * config/arm/constraints.md (c): Fix a typo.
3359
3360         * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
3361         typos.
3362
3363 2006-05-07  H.J. Lu  <hongjiu.lu@intel.com>
3364
3365         PR target/24879
3366         * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
3367         inline function.
3368         (_mm_mwait): Likewise.
3369
3370         * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
3371         "mwait".
3372         (sse3_monitor): Make it 32bit only.
3373         (sse3_monitor64): New. 64bit monitor.
3374
3375 2006-05-07  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3376
3377         PR target/27421
3378         * config/i386/i386.c (classify_argument): Skip fields with invalid
3379         types.
3380
3381 2006-05-07  Richard Guenther  <rguenther@suse.de>
3382
3383         PR tree-optimization/27409
3384         * tree-ssa-structalias.c (get_constraint_for_component_ref):
3385         Do not try to find zero-sized subvars.
3386
3387 2006-05-07  Richard Guenther  <rguenther@suse.de>
3388
3389         PR tree-optimization/27136
3390         * tree-ssa-loop-niter.c (get_val_for): Correct function
3391         comment, assert requirements.
3392         (loop_niter_by_eval): Stop processing if the iterated
3393         value did not simplify.
3394
3395 2006-05-07  Mircea Namolaru  <namolaru@il.ibm.com>
3396
3397         * opts.c (flag_see): remove its setting at -O3.
3398
3399 2006-05-07  Richard Earnshaw  <rearnsha@arm.com>
3400
3401         * genpeep.c (main): Make insn-peep.c depend on flags.h.
3402         * arm/constraints.md: New file.
3403         * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
3404         (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
3405         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
3406         (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
3407         (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
3408         (EXTRA_MEMORY_CONSTRAINT): Likewise.
3409         * arm.md: Include constraints.md.
3410         (thumb_movsi_insn): Use satisfies_constraint_J.
3411         (movhi, movqi): Use satisfies_constraint_I.
3412
3413 2006-04-29 Anatoly Sokolov <aesok@post.ru>
3414
3415         * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
3416         for atmeg a645 device.
3417
3418 2006-05-06   Richard Guenther  <rguenther@suse.de>
3419
3420         PR tree-optimization/27151
3421         * tree-vect-transform.c (vectorizable_condition): Punt on
3422         values that have a different type than the condition.
3423
3424 2006-05-03  Aldy Hernandez  <aldyh@redhat.com>
3425
3426         PR/21391
3427         * c-parser.c (c_parser_cast_expression): Only insert casts into
3428         hash table if pointer.
3429         * function.c (used_types_insert_helper): Rename from
3430         used_types_insert.
3431         (used_types_insert): Call used_types_insert_helper.
3432         * function.h (used_types_insert): Accept only one argument.
3433
3434 2006-05-05  David Edelsohn  <edesohn@gnu.org>
3435
3436         * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
3437         scratch with output modifier.
3438
3439 2006-05-04  David Edelsohn  <edelsohn@gnu.org>
3440
3441         PR target/26481
3442         * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
3443         with output modifier.
3444
3445 2006-05-04  Richard Sandiford  <richard@codesourcery.com>
3446
3447         PR target/26765
3448         * config/mips/mips.c (mips_symbolic_address_p): Return true
3449         for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
3450         SYMBOL_GOTTPREL, and SYMBOL_TLS.
3451
3452 2006-05-04  Richard Guenther  <rguenther@suse.de>
3453
3454         PR tree-optimization/14287
3455         PR tree-optimization/14844
3456         PR tree-optimization/19792
3457         PR tree-optimization/21608
3458         PR tree-optimization/27090
3459         * tree-ssa-pre.c (try_combine_conversion): New function.
3460         (compute_avail): After constructing the value-handle
3461         expression, use try_combine_conversion to combine NOP_EXPRs
3462         with previous value-handle expressions and use the result if it
3463         is available.
3464
3465 2006-05-04  Joseph S. Myers  <joseph@codesourcery.com>
3466
3467         * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
3468
3469 2006-05-04  Jan Hubicka  <jh@suse.cz>
3470
3471         PR middle-end/25962
3472         * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
3473
3474 2006-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
3475
3476         * config/bfin/predicates.md (const01_rtx): Tell generator programs
3477         that this only matches CONST_INTs.  All users changed to VOIDmode
3478         operands.
3479
3480         * config/bfin/bfin.c: Include "optabs.h".
3481         (bfin_rtx_costs): Some costs for vector operations, to allow combine
3482         to do more work.
3483         (enum bfin_builtins): Add a number of fractional and vector builtins.
3484         (bfin_init_builtins): Likewise.
3485         (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
3486         (safe_vector_operand, bfin_expand_binop_builtin,
3487         bfin_expand_unop_builtin): New functions.
3488         (bfin_expand_builtin): Handle the new builtins.
3489         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
3490         __ADSPBLACKFIN__.
3491
3492 2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
3493
3494         * see.c: New file.
3495         * Makefile.in (OBJS-common): Add see.o.
3496         (see.o): Add dependencies.
3497         * common.opt (fsee): New flag for the see optimization was added.
3498         * opts.c (flag_see): Initialized.
3499         * passes.c (init_optimization_passes, pass_see): New pass.
3500         * rtl.h (see_main): Declaration as extern.
3501         * timevar.def (TV_SEE): New.
3502         * tree-pass.h (pass_see): Declaration as extern.
3503         * invoke.texi (-fsee): Document.
3504         * recog.c (validate_simplify_insn): New function.
3505         * recog.h (validate_simplify_insn): Declaration as extern.
3506         * df-problems.c (df_chain_dump): Check for NULL.
3507
3508 2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
3509             Daniel Berlin  <dberlin@dberlin.org>
3510
3511         * cfgrtl.c (insert_insn_bb_end_new): New function.
3512         * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
3513
3514 2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
3515
3516         * df.h (struct web_entry): Moved from web.c.
3517         (union_defs): Declaration as extern.
3518         (unionfind_root): Likewise.
3519         (unionfind_union): Likewise.
3520         * web.c (struct web_entry): Moved to df.h.
3521         (unionfind_root): Remove static declaration.
3522         (unionfind_union): Likewise.
3523         (union_defs): Likewise and generalize to use callback function.
3524         (web_main): Update arguments for union_defs function call.
3525
3526 2006-05-04  Richard Guenther  <rguenther@suse.de>
3527
3528         PR tree-optimization/26447
3529         * tree-ssa-pre.c (realify_fake_stores): For necessary loads
3530         produce SSA_NAME copies before the store stmt to avoid
3531         breaking exception handling.
3532
3533 2006-05-04  Jakub Jelinek  <jakub@redhat.com>
3534
3535         PR middle-end/27388
3536         * gimplify.c (omp_is_private): If var is shared in some outer context,
3537         return false instead of true.  Stop searching on parallel context
3538         boundary.
3539
3540 2006-05-03  Alexandre Oliva  <aoliva@redhat.com>
3541
3542         PR java/8260
3543         * coverage.c: Use get_gcov_unsigned_t() instead of
3544         unsigned_type_node all over.
3545
3546 2006-05-02  Andrew MacLeod  <amacleod@redhat.com>
3547
3548         PR tree-optimization/27381
3549         * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
3550         maintain the same immediate_use links.
3551         * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
3552         node rather than segfaulting.
3553
3554 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
3555
3556         PR fortran/27395
3557         * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
3558         rather than TREE_CODE to OMP_CLAUSE_REDUCTION.  Set also GOVD_SEEN
3559         bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
3560
3561 2006-05-02  Daniel Berlin  <dberlin@dberlin.org>
3562
3563         Fix PR tree-optimization/26626
3564         * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
3565         always.
3566         * tree-ssa-operands.c (access_can_touch_variable): Allow
3567         typecasting through union pointers.
3568
3569 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
3570
3571         PR c++/26943
3572         * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
3573         (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
3574         to find if var will be a global variable even in the nested context.
3575         (omp_copy_decl): Only check for global variable at the end, it might
3576         be overridden in outer contexts.
3577         (scan_sharing_clauses): For global variables don't create a field.
3578         (lower_rec_input_clauses): Do nothing for global shared variables.
3579         Emit a barrier at the end of ILIST if there were any decls in both
3580         firstprivate and lastprivate clauses.
3581         (lower_send_clauses): Do nothing for global variables except for
3582         COPYIN.
3583
3584 2006-05-02  Zdenek Dvorak <dvorakz@suse.cz>
3585
3586         * tree.c (unsigned_type_for, signed_type_for): Make sure a type
3587         of the correct signedness is returned.
3588
3589 2006-05-02  Jeff Law  <law@redhat.com>
3590
3591         PR tree-optimization/27364
3592         * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
3593         multiply expressions.
3594
3595 2006-05-02  Tom Tromey  <tromey@redhat.com>
3596
3597         * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
3598
3599 2006-05-02  Kazu Hirata  <kazu@codesourcery.com>
3600
3601         PR target/27387
3602         * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
3603         -mthumb -fPIC are used.
3604
3605 2006-05-02  Stanislaw Skowronek  <skylark@linux-mips.org>
3606             Joshua Kinard  <kumba@gentoo.org>
3607
3608         PR target/25871
3609         * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
3610         with 64-bit pointers.
3611
3612 2006-05-02  Paul Brook  <paul@codesourcery.com>
3613
3614         * config/arm/arm.c (add_minipool_forward_ref): Check if insn
3615         and pool overlap.
3616         (create_fix_barrier): Check that a suitable barrier location is
3617         found.
3618         (arm_reorg): Include ftmp->address in allowable range of addresses.
3619
3620 2006-05-02  David Billinghurst <David.Billinghurst@riotinto.com>
3621
3622         PR ada/27366
3623         * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
3624         on Cygwin.
3625
3626 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
3627
3628         PR middle-end/27337
3629         * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
3630         around RESULT_DECL for result passed by reference.
3631         (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
3632         * omp-low.c (use_pointer_for_field): Don't look at
3633         DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
3634         (scan_omp_1): Call remap_decl on RESULT_DECLs.
3635         (lower_rec_input_clauses): Don't allocate VLA memory for the second
3636         time or var for passing by reference for
3637         OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses.  Allow creation of
3638         TREE_ADDRESSABLE variables when passing by reference.
3639
3640         * omp-low.c (dump_omp_region): Fix output formatting.
3641
3642         PR middle-end/27328
3643         * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
3644         (expand_omp_parallel): Likewise.
3645         * tree-cfg.c (move_sese_region_to_fn): Likewise.
3646
3647         PR middle-end/27325
3648         * omp-low.c (lower_omp_sections): Call maybe_catch_exception
3649         on statement list containing also constructors and destructors.
3650         (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
3651
3652         PR middle-end/27310
3653         * except.c (duplicate_eh_regions): Fix clearing of
3654         cfun->eh->region_array entries.
3655
3656 2006-05-01  DJ Delorie  <dj@redhat.com>
3657
3658         * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
3659         build!=host.
3660         (gcc_cv_objdump): Likewise.
3661         * configure: Regenerated.
3662
3663 2006-05-01  Kazu Hirata  <kazu@codesourcery.com>
3664
3665         PR target/27374
3666         * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
3667         templates for case 3 and 4.
3668
3669 2006-05-01  DJ Delorie  <dj@redhat.com>
3670
3671         * vec.c: Include bconfig.h when appropriate.
3672         * Makefile.in (build/vec.o): Adjust dependencies.
3673         * mkconfig.sh: Make sure config.h isn't used for build machine
3674         compiles.
3675
3676 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
3677
3678         * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
3679         variables.
3680         (mark_phi_for_rewrite): New function.
3681         (insert_phi_nodes_for, mark_use_interesting): Call
3682         mark_phi_for_rewrite.
3683         (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
3684         (update_ssa): Initialize and free phis_to_rewrite.
3685
3686 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
3687
3688         PR rtl-optimization/27291
3689         * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
3690         folded to a constant.
3691
3692 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
3693
3694         PR tree-optimization/27283
3695         * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
3696         not whole # of iteration descriptions.
3697         (niter_for_exit): Return just # of iterations.  Fail if # of iterations
3698         uses abnormal ssa name.
3699         (niter_for_single_dom_exit): Ditto.
3700         (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
3701         return just the number of iterations.
3702
3703 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
3704
3705         PR tree-optimization/27144
3706         * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
3707         (record_estimate): Only record constant upper bound.
3708         (infer_loop_bounds_from_undefined): Call
3709         compute_estimated_nb_iterations just once.
3710         (proved_non_wrapping_p): Renamed to ...
3711         (n_of_executions_at_most): ... this.  Expect bound to be a constant.
3712         (convert_step_widening, scev_probably_wraps_p): Call
3713         n_of_executions_at_most instead of proved_non_wrapping_p.
3714         (substitute_in_loop_info): Do not replace values in bounds.
3715         * cfgloop.h (struct nb_iter_bound): Remove "additional" field.  Update
3716         comments.
3717
3718 2006-05-01  Richard Henderson  <rth@redhat.com>
3719
3720         PR c/27358
3721         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
3722         c_parser_skip_to_pragma_eol.  Convert to switch statement.  Handle
3723         CPP_PRAGMA.
3724
3725 2006-05-01  Roger Sayle  <roger@eyesopen.com>
3726
3727         * c-typeck.c (parser_build_binary_op): Don't call the function
3728         unsigned_conversion_warning to spot operand/result type overflow.
3729         (build_binary_op): Instead, call convert_and_check instead of
3730         convert to report the problem when the operands are promoted.
3731         * c-common.c (unsigned_conversion_warning): Make static.
3732         * c-common.h (unsigned_conversion_warning): Delete prototype.
3733
3734 2006-05-01  Richard Guenther  <rguenther@suse.de>
3735
3736         PR tree-optimization/26726
3737         * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
3738         problem ...
3739         (find_interesting_uses_address): ... we work around here
3740         by folding INDIRECT_REFs in the substituted base.
3741
3742 2006-05-01  Diego Novillo  <dnovillo@redhat.com>
3743
3744         * omp-low.c (dump_omp_region): Add newlines.
3745
3746 2006-04-30  Roger Sayle  <roger@eyesopen.com>
3747
3748         * common.opt (Woverflow): New command line option.
3749         * c-common.c (constant_expression_warning): Check warn_overflow.
3750         (overflow_waring): Pass OPT_Woverflow to warning.
3751         (unsigned_conversion_warning): Likewise.
3752         (convert_and_check): Likewise.
3753         * doc/invoke.texi: Document new command line option.
3754
3755 2006-04-30  David Edelsohn  <edelsohn@gnu.org>
3756
3757         * config/rs6000/rs6000.c (rs6000_override_options): Enable
3758         TARGET_NO_FP_IN_TOC for section anchors.
3759         (optimization_options): Enable section anchors for all
3760         non-"Objective" languages.
3761
3762 2006-04-28  Eric Christopher  <echristo@apple.com>
3763
3764         * config/darwin-c.c (darwin_ms_struct): Move this
3765         (darwin_set_default_type_attributes): and this...
3766         * config/darwin.c: ... here.
3767         * config/darwin.h (darwin_ms_struct): Declare.
3768
3769 2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
3770
3771         * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
3772
3773 2006-04-28  Roger Sayle  <roger@eyesopen.com>
3774
3775         PR c/25309
3776         * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
3777         (push_array_bounds): Delete prototype.  Change BOUNDS argument to
3778         an unsigned HOST_WIDE_INT.
3779         (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
3780         array index.
3781         (really_start_incremental_init): No need to call convert because
3782         bitsize_zero_node is already of type bitsizetype.
3783         (push_init_level): Extract the value of constructor_index as an
3784         unsigned HOST_WIDE_INT quantity, using tree_low_cst.
3785         (process_init_element): Likewise.
3786
3787 2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
3788
3789         * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
3790         value before passing to make_relative_prefix.
3791
3792 2006-04-28  Alan Modra  <amodra@bigpond.net.au>
3793
3794         PR middle-end/27260
3795         * builtins.c (expand_builtin_memset): Expand val in original mode.
3796
3797 2006-04-27  Eric Christopher  <echristo@apple.com>
3798
3799         * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
3800         with #ifndef/#endif.
3801         * config/darwin-c.c (darwin_ms_struct): New.
3802         (darwin_pragma_ms_struct): Ditto.
3803         (darwin_set_default_type_attributes): Ditto.
3804         * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
3805         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
3806         Register ms_struct pragma.
3807         * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
3808         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
3809         * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
3810         darwin_set_default_type_attributes if TARGET_MACHO.
3811
3812 2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
3813
3814         PR tree-optimization/26854
3815         * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
3816         * doc/tree-ssa.texi: Update immuse iterator documentation.
3817         * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
3818         * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
3819         * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
3820         first_safe_imm_use, next_safe_imm_use): Remove.
3821         (end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
3822         (end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
3823         (move_use_after_head): New.  Helper function to sort immuses in a stmt.
3824         (link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
3825         (first_imm_use_stmt): New.  Get first stmt in an immuse list.
3826         (next_imm_use_stmt): New.  Get next stmt in an immuse list.
3827         (first_imm_use_on_stmt): New.  Get first immuse on a stmt.
3828         (end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
3829         (next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
3830         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
3831         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
3832         (perfect_nestify): Use new iterator.
3833         * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
3834         iterator.
3835         * tree-flow.h (struct immediate_use_iterator_d): Add comments.
3836         (next_imm_name): New field in struct immediate_use_iterator_d.
3837         (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
3838         (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
3839         FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
3840         * tree-cfg.c (replace_uses_by): Use new iterator.
3841         * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
3842         * tree-ssa-operands.c (correct_use_link): Remove.
3843         (finalize_ssa_use_ops): No longer call correct_use_link.
3844
3845 2006-04-27  Stuart Hastings  <stuart@apple.com>
3846
3847         * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
3848         * config/t-darwin (crt3.o): Use it.
3849         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
3850         'pmode', use Pmode instead of SImode for SYMBOL_REF.
3851         * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
3852         call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
3853         call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
3854         support.
3855
3856 2006-04-27  Roger Sayle  <roger@eyesopen.com>
3857
3858         * expmed.c (store_fixed_bit_field): If we're not optimizing for
3859         size, force the intermediate into a new pseudo rather instead of
3860         performing both a bitwise AND and a bitwise IOR in memory.
3861
3862 2006-04-27  Richard Guenther  <rguenther@suse.de>
3863
3864         PR rtl-optimization/26685
3865         * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
3866         this one "max-flow-memory-locations".
3867
3868 2006-04-27  Richard Guenther  <rguenther@suse.de>
3869
3870         PR tree-optimization/25148
3871         * tree-vrp.c (compare_values): Remove code dealing with
3872         comparisons against type min/max value.  Honour overflow
3873         and negative constants in code dealing with comparisons
3874         of plus and minus expressions.
3875         (value_inside_range): Use fold_binary with LE_EXPR and
3876         GE_EXPR rather than compare_values.
3877
3878 2006-04-27  Dirk Mueller  <dmueller@suse.de>
3879
3880         * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
3881         prototype for SSE.
3882
3883 2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
3884
3885         * basic-block.h (safe_insert_insn_on_edge): Removed.
3886         * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
3887
3888 2006-04-26  David Edelsohn  <edelsohn@gnu.org>
3889             Paolo Bonzini  <bonzini@gnu.org>
3890
3891         PR middle-end/27282
3892         * combine.c (simplify_and_const_int_1): Use gen_int_mode.
3893         (simplify_and_const_int): Same.
3894
3895 2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
3896
3897         * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
3898
3899 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
3900
3901         PR c/26171
3902         * cgraph.c (cgraph_varpool_finalize_decl): Don't call
3903         cgraph_varpool_assemble_pending_decls if -fopenmp, unless
3904         cgraph_global_info_ready.
3905
3906         PR middle-end/26913
3907         * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
3908
3909         PR c/25996
3910         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
3911         either decl or init is error_mark_node.
3912
3913         PR middle-end/25989
3914         * tree-flow.h (struct omp_region): Add sched_kind.
3915         * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
3916         instead of extracting omp for data.
3917         (expand_omp_for): Save extracted sched_kind.
3918
3919 2006-04-25  Roger Sayle  <roger@eyesopen.com>
3920
3921         * expmed.c (store_bit_field): Also check whether the bitsize is
3922         valid for the machine's "insv" instruction before moving the
3923         target into a pseudo for use with the insv.
3924         * config/i386/predicates.md (const8_operand): New predicate.
3925         * config/i386/i386.md (extv, extzv, insv): Use the new
3926         const8_operand predicate where appropriate.
3927
3928 2006-04-25  DJ Delorie  <dj@redhat.com>
3929
3930         * doc/install.texi (Specific): Clarify that this is not a list of
3931         supported hosts or targets.
3932
3933 2006-04-25  Richard Sandiford  <richard@codesourcery.com>
3934
3935         PR rtl-optimization/26725
3936         * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
3937         block's BB_DIRTY flag.
3938
3939 2006-04-25  Geoffrey Keating  <geoffk@apple.com>
3940
3941         * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
3942         are no branches.
3943
3944         * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
3945         to print an integer.
3946
3947 2006-04-25  David Edelsohn  <edelsohn@gnu.org>
3948
3949         * varasm.c (align_variable): New function.
3950         (get_block_for_decl): Apply align_variable to DECL before
3951         calculating section information.
3952         (assemble_variable): Split out alignment computation.
3953
3954 2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
3955
3956         * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
3957         machines.
3958
3959 2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
3960
3961         * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
3962         MODE_PARTIAL_INT mode.
3963         * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
3964         * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
3965         for CONST_INTs.
3966         (hard_regno_mode_ok): V2PDImode is ok for accumulators.
3967         * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
3968         V2PDImode.
3969         * config/bfin/predicates.md (const01_operand, vec_shift_operand):
3970         New predicates.
3971         * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
3972         New constants.
3973         (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
3974         MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
3975         MACFLAG_IH): Likewise.
3976         (movstricthi_1): Renamed from "*movstricthi".
3977         (load_accumulator, load_accumulator_pair, movsi_insv, insv,
3978         ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
3979         abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
3980         movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
3981         movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
3982         movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
3983         addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
3984         sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
3985         addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
3986         mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
3987         ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
3988         flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
3989         flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
3990         flag_macv2hi_parts, flag_macv2hi_parts_acconly,
3991         flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
3992
3993         * doc/rtl.texi (ss_ashift): Improve wording.
3994
3995 2006-04-24  Geoffrey Keating  <geoffk@apple.com>
3996
3997         * dwarf2out.c (verify_marks_clear): New.
3998         (prune_unused_types): Call verify_marks_clear initially, not
3999         prune_unmark_dies.
4000
4001 2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
4002
4003         * rtl.def (SS_ASHIFT, SS_NEG): New codes.
4004         * doc/rtl.texi: Document them.
4005         * simplify-rtx.c (simplify_unary_operation,
4006         simplify_binary_operation_1): Don't abort when we see them.
4007
4008 2006-04-24  Mark Mitchell  <mark@codesourcery.com>
4009
4010         Revert:
4011         2006-04-23  Mark Mitchell  <mark@codesourcery.com>
4012         * configure.ac: Completely disregard languages that are not
4013         enabled.
4014         * configure: Regenerated.
4015
4016 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
4017         Richard Guenther  <rguenther@suse.de>
4018
4019         PR tree-optimization/27236
4020         * tree-inline.c (copy_body_r): Make sure to copy
4021         TREE_THIS_VOLATILE flag.
4022
4023 2006-04-24  Richard Guenther  <rguenther@suse.de>
4024
4025         PR middle-end/26869
4026         * tree-complex.c (update_parameter_components): Don't handle
4027         unused parameters which have no default def.
4028
4029 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
4030         Richard Guenther  <rguenther@suse.de>
4031
4032         PR tree-optimization/27218
4033         * tree-inline.c (expand_call_inline): Strip useless type
4034         conversions for the return slot address.
4035
4036 2006-04-24  Richard Guenther  <rguenther@suse.de>
4037
4038         * cfgloop.h (struct loops): Remove unused field array.  Reorder
4039         state after num.
4040         (LOOP_PREFETCH): Remove.
4041
4042 2006-04-24  Richard Guenther  <rguenther@suse.de>
4043
4044         PR tree-optimization/22525
4045         * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
4046         variable, adjust types of generated expressions.
4047
4048 2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
4049
4050         * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
4051         (tree-vect-patterns.o): Likewise.
4052         (jump.o): Likewise.
4053         (cselib.o): Likewise.
4054         (loop-doloop.o): Likewise.
4055         (regclass.o): Likewise.
4056         (reload1.o): Likewise.
4057         (explow.o): Replace target.h with $(TARGET_H).
4058         (ipa-prop.o): Likewise.
4059         (ipa-cp.o): Likewise.
4060         (ipa-inline.o): Likewise.
4061         (reorg.o): Likewise.
4062         (reg-stack.o): Likewise.
4063
4064 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
4065
4066         * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
4067
4068 2006-04-23  Mark Mitchell  <mark@codesourcery.com>
4069
4070         * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
4071
4072         * configure.ac: Completely disregard languages that are not
4073         enabled.
4074         * configure: Regenerated.
4075
4076         PR c++/26534
4077         * c-common.h (c_build_bitfield_integer_type): Declare.
4078         * c-decl.c (c_build_bitfield_integer_type): Move to ...
4079         * c-common.c (c_build_bitfield_integer_type): ... here.
4080
4081 2006-04-23  Roger Sayle  <roger@eyesopen.com>
4082
4083         PR target/21283
4084         * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
4085         a SImode SUBREG of a floating point register after no_new_pseudos.
4086
4087 2006-04-23  Roger Sayle  <roger@eyesopen.com>
4088
4089         * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
4090         identify potentially eliminable registers to additionally catch
4091         VIRTUAL_INCOMING_ARGS_REGNUM.
4092         (addsi3): Update the conditions on when to use addsi_small_int.
4093
4094 2006-04-23  Roger Sayle  <roger@eyesopen.com>
4095
4096         PR target/16641
4097         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
4098         STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
4099         rtx to stack_pointer_rtx or frame_pointer_rtx directly.
4100
4101 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
4102
4103         * fold-const.c (range_predecessor): Use operand_equal_p
4104         as the predicate for equality.
4105         (range_successor): Likewise.
4106
4107 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
4108
4109         Revert:
4110         * config/soft-fp/op-common.h: Fix a typo.
4111
4112 2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
4113
4114         PR libmudflap/26864
4115         * common.opt (flag_mudflap_threads): Overload flag_mudflap.
4116         * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
4117
4118 2006-04-22  Kazu Hirata  <kazu@co