OSDN Git Service

* config.gcc (powerpc*-*-* | rs6000-*-*): Add
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-04-28  Joseph Myers  <joseph@codesourcery.com>
2
3         * config.gcc (powerpc*-*-* | rs6000-*-*): Add
4         rs6000/option-defaults.h to tm_file.  Support cpu_32, cpu_64,
5         tune_32 and tune_64.
6         * doc/install.texi (--with-cpu-32, --with-cpu-64): Document
7         support on PowerPC.
8         * config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Move to ...
9         * config/rs6000/option-defaults.h: ... here.  New file.
10         (OPT_64, OPT_32): Define.
11         (MASK_64BIT): Define to 0 if not already defined.
12         (OPT_ARCH64, OPT_ARCH32): Define.
13         (OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32
14         and tune_64.
15
16 2009-04-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
17
18         * config/arm/arm.c (arm_override_options): Emit error on using
19         fpa with AAPCS.
20
21 2009-04-28  Uros Bizjak  <ubizjak@gmail.com>
22
23         PR rtl-optimization/39914
24         * ira-conflicts.c (ira_build_conflicts): Prohibit call used
25         registers for allocnos created from user-defined variables only
26         when not optimizing.
27
28 2009-04-28  Richard Guenther  <rguenther@suse.de>
29
30         PR middle-end/39937
31         * fold-const.c (fold_binary): Use distribute_real_division only
32         on float types.
33
34 2009-04-28  Steve Ellcey  <sje@cup.hp.com>
35
36         * config.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint and
37         add hpux-stdint.h to tm_file.
38         (hppa[12]*-*-hpux11*): Ditto.
39         (ia64*-*-hpux*): Ditto.
40         * config/hpux-stdint.h: New.
41         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Set
42         __STDC_EXT__ for all compiles.
43         * config/pa/pa-hpux.h: Ditto.
44         * config/pa/pa-hpux10.h: Ditto.
45         * config/pa/pa-hpux11.h: Ditto.
46
47 2009-04-28  Catherine Moore  <clm@codesourcery.com>
48
49         * debug.h (set_name): Add comment.
50
51 2009-04-28  Andrew Pinski  <pinskia@gmail.com>
52
53         PR target/39929
54         * config/darwin.c (machopic_gen_offset): Check
55         currently_expanding_to_rtl if current_ir_type returns IR_GIMPLE.
56         * config/arm/arm.c (require_pic_register): Likewise.
57
58 2009-04-28  Paolo Bonzini  <bonzini@gnu.org>
59
60         * config/m32c/m32c.c (TARGET_PROMOTE_FUNCTION_RETURN,
61         m32c_promote_function_return, TARGET_PROMOTE_PROTOTYPES,
62         m32c_promote_prototypes): Delete.
63
64 2009-04-28  Michael Matz  <matz@suse.de>
65
66         PR middle-end/39922
67         * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
68         constants.
69
70 2009-04-28  Richard Guenther  <rguenther@suse.de>
71
72         * tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error.
73
74 2009-04-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
75
76         * config/arm/arm-cores.def: Add support for arm1156t2f-s.
77         * doc/invoke.texi (ARM Options): Document support for arm1156t2f-s.
78         * config/arm/arm-tune.md: Regenerate.
79
80 2009-04-28  Alexander Monakov  <amonakov@ispras.ru>
81
82         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not attempt to delete a
83         block if there are complex incoming edges.
84         (sel_merge_blocks): Remove useless assert.
85         (sel_redirect_edge_and_branch): Check that edge was redirected.
86         * sel-sched-ir.h (_eligible_successor_edge_p): Remove assert.
87         (sel_find_rgns): Delete declaration.
88         * sel-sched.c (purge_empty_blocks): Attempt to remove first block of
89         the region when it is not a preheader.
90
91 2009-04-28  Uros Bizjak  <ubizjak@gmail.com>
92
93         PR c/39323
94         * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h
95
96 2009-04-28  Richard Guenther  <rguenther@suse.de>
97
98         * tree.h (SSA_NAME_VALUE): Remove.
99         (struct tree_ssa_name): Remove value_handle member.
100         * tree-vrp.c (execute_vrp): Initialize/free the value-handle
101         array for jump threading.
102         * tree-ssa-propagate.c (ssa_prop_init): Do not initialize
103         SSA_NAME_VALUEs.
104         * print-tree.c (print_node): Do not dump SSA_NAME_VALUEs.
105         * tree-flow.h (threadedge_initialize_values): Declare.
106         (threadedge_finalize_values): Likewise.
107         * tree-ssa-threadedge.c (ssa_name_values): New global variable.
108         (SSA_NAME_VALUE): Define.
109         (threadedge_initialize_values): New function.
110         (threadedge_finalize_values): Likewise.
111         * tree-ssa-dom.c (ssa_name_values): New global variable.
112         (SSA_NAME_VALUE): Define.
113         (tree_ssa_dominator_optimize): Initialize/free the value-handle array.
114
115 2009-04-28  Ira Rosen  <irar@il.ibm.com>
116
117         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
118         Use REPORT_VECTORIZED_LOCATIONS instead 
119         REPORT_VECTORIZED_LOOPS.
120         * tree-vectorizer.c (vect_verbosity_level): Make static.
121         (vect_loop_location): Rename to vect_location.
122         (vect_set_verbosity_level): Update comment.
123         (vect_set_dump_settings): Use REPORT_VECTORIZED_LOCATIONS
124         and vect_location.
125         (vectorize_loops): Fix comment. Use REPORT_VECTORIZED_LOCATIONS
126         and vect_location. Use REPORT_UNVECTORIZED_LOCATIONS
127         instead REPORT_UNVECTORIZED_LOOPS.
128         * tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
129         vect_loop_def to vect_external_def and vect_internal_def.
130         (enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
131         and REPORT_UNVECTORIZED_LOOPS to REPORT_VECTORIZED_LOCATIONS and 
132         REPORT_UNVECTORIZED_LOCATIONS.
133         (enum vect_relevant): Update comment. Rename vect_unused_in_loop
134         and vect_used_in_loop and to vect_unused_in_scope and 
135         vect_used_in_scope.
136         (STMT_VINFO_RELEVANT_P): Use vect_unused_in_scope.
137         (vect_verbosity_level): Remove declaration.
138         (vect_analyze_operations): Likewise.
139         (vect_analyze_stmt): Declare.
140         * tree-vect-loop.c (vect_determine_vectorization_factor): Use
141         REPORT_UNVECTORIZED_LOCATIONS.
142         (vect_get_loop_niters): Fix indentation.
143         (vect_analyze_loop_form): Use REPORT_UNVECTORIZED_LOCATIONS.
144         (vect_analyze_loop_operations): New function.
145         (vect_analyze_loop): Call vect_analyze_loop_operations instead of
146         vect_analyze_operations.
147         (vect_is_simple_reduction): Use new names.
148         (vectorizable_live_operation, vect_transform_loop): Likewise.
149         * tree-vect-data-refs.c (vect_check_interleaving): Add a return value to
150         specify whether the data references can be a part of interleaving chain.
151         (vect_analyze_data_ref_dependence): Use new names.
152         (vect_analyze_data_refs_alignment, vect_analyze_data_refs): Likewise.
153         (vect_create_addr_base_for_vector_ref): Remove redundant code.
154         * tree-vect-patterns.c (widened_name_p): Use new names.
155         (vect_recog_dot_prod_pattern): Likewise.
156         * tree-vect-stmts.c (vect_stmt_relevant_p): Use new names.
157         (process_use, vect_mark_stmts_to_be_vectorized, 
158         vect_model_simple_cost, vect_model_store_cost,
159         vect_get_vec_def_for_operand, vect_get_vec_def_for_stmt_copy,
160         vectorizable_call, vectorizable_conversion, vectorizable_assignment,
161         vectorizable_operation, vectorizable_type_demotion,
162         vectorizable_type_promotion, vectorizable_store, vectorizable_load,
163         vectorizable_condition): Likewise.
164         (vect_analyze_operations): Split into vect_analyze_loop_operations
165         and ...
166         (vect_analyze_stmt): ... new function.
167         (new_stmt_vec_info): Use new names.
168         (vect_is_simple_use): Use new names and fix comment.
169         * tree-vect-slp.c (vect_get_and_check_slp_defs): Use new names.
170         (vect_build_slp_tree, vect_analyze_slp, vect_schedule_slp): Likewise.
171
172 2009-04-28  Uros Bizjak  <ubizjak@gmail.com>
173
174         PR target/39911
175         * config/i386/i386.c (print_operand) ['Z']: Handle floating point
176         and integer modes for x87 operands.  Do not ICE for unsupported size,
177         generate error instead.  Generate error for unsupported operand types.
178         ['z']: Do not handle HImode memory operands specially.  Warning
179         for floating-point operands.  Fallthru to 'Z' for unsupported operand
180         types.  Do not ICE for unsupported size, generate error instead.
181         (output_387_binary_op): Use %Z to output operands.
182         (output_fp_compare): Ditto.
183         (output_387_reg_move): Ditto.
184
185 2009-04-28  Ben Elliston  <bje@au.ibm.com>
186
187         PR c++/35652
188         Revert:
189
190         2009-03-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
191
192         * builtins.c (c_strlen): Do not warn here.
193         * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
194         * c-common.c (pointer_int_sum): Take an explicit location.
195         Warn about offsets out of bounds.
196         * c-common.h (pointer_int_sum): Adjust declaration.
197
198 2009-04-27  Ian Lance Taylor  <iant@google.com>
199
200         * collect2.c (is_ctor_dtor): Change type of ret field in struct
201         names to symkind.
202         * dce.c (run_fast_df_dce): Change type of old_flags to int.
203         * df-core.c (df_set_flags): Change return type to int.  Change
204         type of old_flags to int.
205         (df_clear_flags): Likewise.
206         * df-scan.c (df_def_record_1): Change 0 to VOIDmode.
207         (df_get_conditional_uses): Likewise.
208         * df.h (df_set_flags, df_clear_flags): Update declarations.
209         * dwarf2out.c (struct indirect_string_node): Change type of form
210         field to enum dwarf_form.
211         (AT_string_form): Change return type to enum dwarf_form.
212         * fixed-value.c (fixed_compare): Add cast to enum type.
213         * fwprop.c (update_df): Change 0 to VOIDmode.
214         * gensupport.c: Change 0 to UNKNOWN.
215         * gimple.h (gimple_cond_code): Add cast to enum type.
216         * haifa-sched.c (reemit_notes): Add cast to enum type.
217         * hooks.c (hook_int_void_no_regs): Remove function.
218         * hooks.h (hook_int_void_no_regs): Remove declaration.
219         * optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
220         * predict.c (combine_predictions_for_insn): Add casts to enum type.
221         * real.c (real_arithmetic): Add cast to enum type.
222         (real_compare): Likewise.
223         * target.h (struct gcc_target): Change return type of
224         branch_target_register_class to enum reg_class.
225         * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
226         default_branch_target_register_class.
227         * targhooks.c (default_branch_target_register_class): New function.
228         * targhooks.h (default_branch_target_register_class): Declare.
229         * tree-data-ref.c (print_direction_vector): Add cast to enum type.
230         * tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
231         cast to int.
232         * tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
233         ERROR_MARK.
234         * tree-vect-slp.c (vect_build_slp_tree): Change 0 to
235         vect_uninitialized_def.  Change 0 to ERROR_MARK.
236         * tree-vect-stmts.c (supportable_widening_operation): Don't
237         initialize icode1 and icode2.
238         * tree-vectorizer.h (enum vect_def_type): Add vect_uninitialized_def.
239         * config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
240         and to STD_C89.
241         (cmn_err_flag_specs): Change 0 to STD_C89.
242         (cmn_err_char_table): Likewise.
243         * config/arm/arm.c (get_arm_condition_code): Change type of code
244         to enum arm_cond_code.
245         (IWMMXT_BUILTIN): Change 0 to UNKNOWN.
246         (IWMMXT_BUILTIN2): Likewise.
247         (neon_builtin_type_bits): Don't define typedef.
248         (neon_builtin_datum): Change type of bits field to int.
249         (arm_expand_neon_args): Add cast to enum type.
250         * config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
251         TLS_MODEL_NONE.
252         * config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN.  Add
253         casts to enum type.
254         * config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
255         MIPS_FP_COND_f.
256         * config/mips/mips.md (jal_macro): Return enum constant.
257         (single_insn): Likewise.
258         * config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
259         CODE_FOR_nothing.
260         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
261         casts to enum type.
262         * config/s390/s390.c (s390_tune_flags): Change type to int.
263         (s390_arch_flags): Likewise.
264         (s390_handle_arch_option): Change flags field of struct pta to int.
265         * config/s390/s390.h (s390_tune_flags): Update declaration.
266         (s390_arch_flags): Likewise.
267         * config/sh/sh.c (prepare_move_operands): Compare
268         tls_symbolic_operand result with enum constant.
269         (sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
270         (sh_expand_prologue): Add cast to enum type.
271         (sh_expand_epilogue): Likewise.
272         (tls_symbolic_operand): Change return type to enum tls_model.
273         (fpscr_set_from_mem): Add cast to enum type.
274         (legitimize_pic_address): Compare tls_symbolic_operand result with
275         enum constant.
276         (sh_target_reg_class): Change return type to enum reg_class.
277         * config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
278         PROCESSOR_xxx.
279         * config/sh/sh-protos.h (tls_symbolic_operand): Update declaration.
280         * config/sparc/sparc.c (sparc_override_options): Add cast to enum type.
281         * config/sparc/sparc.md (empty_delay_slot): Return enum constant.
282         (pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
283         (delayed_branch, tls_call_delay): Likewise.
284         (eligible_for_sibcall_delay): Likewise.
285         (eligible_for_return_delay): Likewise. 
286         * config/spu/spu.c (expand_builtin_args): Add cast to enum type.
287         (spu_expand_builtin_1): Likewise.
288
289         * c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
290         for all types of conversions.
291         (output_init_element): Issue -Wc++-compat warning if needed when
292         initializing a bitfield with enum type.
293         * c-parser.c (c_parser_expression): Set original_type to
294         original_type of right hand operand of comman operator.
295
296 2009-04-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
297
298         * doc/c-tree.texi (Types, Functions, Expression trees): Fix
299         grammar nits.
300         * doc/cfg.texi (Maintaining the CFG, Liveness information): Likewise.
301         * doc/cpp.texi (Standard Predefined Macros)
302         (Implementation-defined behavior): Likewise.
303         * doc/extend.texi (Function Attributes, Type Attributes): Likewise.
304         * doc/gimple.texi (GIMPLE Exception Handling)
305         (@code{GIMPLE_ASSIGN}): Likewise.
306         * doc/install.texi (Prerequisites, Configuration, Specific): Likewise.
307         * doc/invoke.texi (Warning Options, Optimize Options)
308         (AVR Options, Darwin Options): Likewise.
309         (Optimize Options): Reformulate -fwhole-program description.
310         * doc/loop.texi (Lambda): Likewise.
311         * doc/md.texi (Output Template, Define Constraints)
312         (Standard Names, Insn Splitting): Likewise.
313         * doc/options.texi (Option properties): Likewise.
314         * doc/passes.texi (Tree-SSA passes): Likewise.
315         * doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
316         * doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
317         (File Names and DBX): Likewise.
318         * doc/trouble.texi (Incompatibilities): Likewise.
319
320 2009-04-27  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
321
322         * spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
323         instruction is correct.
324
325 2009-04-27  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
326
327         Allow non-constant arguments to conversion intrinsics.
328         * spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
329         * predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
330         * spu.c (print_operand): Handle 'v' and 'w'.
331         (exp2_immediate_p, spu_gen_exp2): Define.
332         * spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
333         spu_convtf_1): Update parameter descriptions.
334         * spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu): Update.
335         * constraints.md ('v', 'w'): New.
336         * spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
337         Remove.
338         (i2f, I2F): New define_mode_attr.
339         (floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
340         floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
341         fixuns_truncv4sfv4si2):  Update to use mode attribute.
342         (float<mode><i2f>2_mul, float<mode><i2f>2_div,
343         fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
344         floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
345         patterns for combine.
346
347 2009-04-27  Steven Bosscher  <steven@gcc.gnu.org>
348
349         * dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
350         (cprop, hoist, pre, store_motion): New debug counters.
351         * tree-pass.h (pass_tracer): Move to list of gimple passes, it
352         is not an RTL pass anymore.
353         (pass_profiling): Remove extern decl for pass removed in 2005.
354         (pass_gcse, pass_jump_bypass): Remove.
355         * final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts
356         to 0 for clean state.
357         * toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration.
358         * cse.c (gate_handle_cse_after_global_opts,
359         rest_of_handle_cse_after_global_opts): New functions.
360         (pass_cse_after_global_opts): New pass, does local CSE.
361         * timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove.
362         (TV_CPROP): New timevar.
363         * gcse.c (flag_rerun_cse_after_global_opts): New global variable.
364         (run_jump_opt_after_gcse, max_gcse_regno): Remove global vars.
365         (gcse_main, recompute_all_luids): Remove.
366         (compute_hash_table_work): Call max_reg_num instead of reading
367         max_gcse_regno.
368         (cprop_jump): Don't set run_jump_opt_after_gcse.
369         (constprop_register): Always allow to alter jumps.
370         (cprop_insn): Likewise.
371         (do_local_cprop): Likewise.
372         (local_cprop_pass): Likewise.  Return non-zero if something changed.
373         (cprop): Remove function, fold interesting bits into one_cprop_pass.
374         (find_implicit_sets): Add note about missed optimization opportunity.
375         (one_cprop_pass): Rewrite to be "the" CPROP pass, called from the
376         pass_rtl_cprop execute function.
377         Don't bother tracking the pass number, each pass gets its own dumpfile
378         now anyway.
379         Always allow to alter jumpsand bypass jumps.
380         (bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set
381         will just find no suitable set.
382         (pre_edge_insert): Fix dumping, this function is for PRE only.
383         (one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the
384         pass_rtl_pre execute function.
385         (hoist_code): Return non-zero if something changed.  Keep track of
386         substitutions and insertions for statistics gathering similar to PRE.
387         (one_code_hoisting_pass): Rewrite to be "the" code hoisting pass,
388         called from the pass_rtl_hoist execute function.  Show pass statistics.
389         (compute_store_table): Use max_reg_num directly instead of using the
390         formerly global max_gcse_regno.
391         (build_store_vectors): Likewise.
392         (replace_store_insn): Fix dumping.
393         (store_motion): Rename to ...
394         (one_store_motion_pass): ... this.  Rewrite to be "the" STORE_MOTION
395         pass, called from the pass_rtl_store_motion execute function.  Keep
396         track of substitutions and insertions for statistics gathering similar
397         to PRE.
398         (bypass_jumps): Remove, fold interesting bits into ...
399         (one_cprop_pass): ... this.  Rewrite to be "the" CPROP pass, called
400         from the pass_rtl_cprop execute function.
401         (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
402         pass_jump_bypass): Remove.
403         (gate_handle_gcse, rest_of_handle_gcse): Remove.
404         (gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New.
405         (gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New.
406         (gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New.
407         (gate_rtl_store_motion, execute_rtl_store_motion,
408         pass_rtl_store_motion): New.
409         * common.opt: Remove flag_cse_skip_blocks, adjust documentation to
410         make it clear that -fcse-skip-blocks is a no-op for backward compat.
411         * passes.c (init_optimization_passes): Remove pass_gcse and
412         pass_jump_bypass.  Schedule cprop, pre, hoist, cprop, store_motion,
413         and cse_after_global_opts in place of pass_gcse.  Schedule cprop
414         instead of pass_jump_bypass.
415
416 2009-04-27  Richard Guenther  <rguenther@suse.de>
417
418         PR middle-end/39928
419         * gimplify.c (gimplify_expr): If we are required to create
420         a temporary make sure it ends up as register.
421
422 2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>
423
424         PR target/39903
425         * config/i386/i386.c (construct_container): Don't call
426         gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
427         X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.
428
429 2009-04-27  Michael Matz  <matz@suse.de>
430
431         * ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
432         (get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT.
433         * tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap.
434         (dump_replaceable_exprs): Take a bitmap.
435         * cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of
436         array.
437         (expand_gimple_basic_block): Likewise.
438         * tree-ssa-ter.c (struct temp_expr_table_d): Make
439         replaceable_expressions member a bitmap.
440         (free_temp_expr_table): Pass back and deal with bitmap, not gimple*.
441         (mark_replaceable): Likewise.
442         (find_replaceable_in_bb, dump_replaceable_exprs): Likewise.
443         * tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap.
444
445 2009-04-27  Richard Guenther  <rguenther@suse.de>
446
447         * tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
448         (verify_stmts): Dispatch to gimple/type verification code.
449         * tree-inline.c (remap_gimple_op_r): Work around C++ FE
450         issue with call argument types.
451
452 2009-04-27  Michael Matz  <matz@suse.de>
453
454         * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
455         (init_update_ssa, delete_update_ssa, update_ssa): Remove references
456         to above.
457
458 2009-04-27  Richard Sandiford  <rdsandiford@googlemail.com>
459             Eric Botcazou  <ebotcazou@adacore.com>
460
461         * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
462         a label's basic block.
463         (mark_target_live_regs): Tidy and rework obsolete comments.
464         Change back DF problem to LIVE.  If a label starts a basic block,
465         assume that all registers that used to be live then still are.
466         (init_resource_info): If a label starts a basic block, set its
467         BLOCK_FOR_INSN accordingly.
468         (fini_resource_info): Undo the setting of BLOCK_FOR_INSN.
469
470 2009-04-27  Richard Guenther  <rguenther@suse.de>
471
472         * tree-flow-inline.h (function_ann): Remove.
473         (get_function_ann): Likewise.
474         * tree-dfa.c (create_function_ann): Remove.
475         * tree-flow.h (struct static_var_ann_d): Remove.
476         (struct function_ann_d): Likewise.
477         (union tree_ann_d): Remove fdecl member.
478         (function_ann_t): Remove.
479         (function_ann, get_function_ann, create_function_ann): Remove
480         declarations.
481
482 2009-04-27  Uros Bizjak  <ubizjak@gmail.com>
483
484         * config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.
485
486 2009-04-27  Jan Hubicka  <jh@suse.cz>
487
488         * ipa-pure-const.c (struct funct_state_d): New fields
489         state_previously_known, looping_previously_known; remove
490         state_set_in_source.
491         (analyze_function): Use new fields.
492         (propagate): Avoid assumption that state_set_in_source imply
493         nonlooping.
494
495         * tree-ssa-loop-niter.c (finite_loop_p): New function.
496         * tree-ssa-loop-ivcanon.c (empty_loop_p): Use it.
497         * cfgloop.h (finite_loop_p): Declare.
498
499 2009-04-26  Michael Matz  <matz@suse.de>
500
501         * tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.
502
503 2009-04-26  Michael Matz  <matz@suse.de>
504
505         * tree-pass.h (pass_del_ssa, pass_mark_used_blocks,
506         pass_free_cfg_annotations, pass_free_datastructures): Remove decls.
507         * gimple-low.c (mark_blocks_with_used_vars, mark_used_blocks,
508         pass_mark_used_blocks): Remove.
509         * tree-optimize.c (pass_free_datastructures,
510         execute_free_cfg_annotations, pass_free_cfg_annotations): Remove.
511         * passes.c (init_optimization_passes): Don't call
512         pass_mark_used_blocks, remove dead code.
513
514 2009-04-26  H.J. Lu  <hongjiu.lu@intel.com>
515
516         * tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.
517         * tree-ssa-live.h (register_ssa_partition): Likewise.
518
519 2009-04-26  Michael Matz  <matz@suse.de>
520
521         Expand from SSA.
522         * builtins.c (fold_builtin_next_arg): Handle SSA names.
523         * tree-ssa-copyrename.c (rename_ssa_copies): Use ssa_name() directly.
524         * tree-ssa-coalesce.c (create_outofssa_var_map): Mark only useful
525         SSA names. 
526         (compare_pairs): Swap cost comparison.
527         (coalesce_ssa_name): Don't use change_partition_var.
528         * tree-nrv.c (struct nrv_data): Add modified member.
529         (finalize_nrv_r): Set it.
530         (tree_nrv): Use it to update statements.
531         (pass_nrv): Require PROP_ssa.
532         * tree-mudflap.c (mf_decl_cache_locals,
533         mf_build_check_statement_for): Use make_rename_temp.
534         (pass_mudflap_2): Require PROP_ssa, run ssa update at finish.
535         * alias.c (find_base_decl): Handle SSA names.
536         * emit-rtl (set_reg_attrs_for_parm): Make non-static.
537         (component_ref_for_mem_expr): Don't leak SSA names into RTL.
538         * rtl.h (set_reg_attrs_for_parm): Declare.
539         * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Rename
540         to "optimized", remove unused locals at finish.
541         (execute_free_datastructures): Make global, call
542         delete_tree_cfg_annotations.
543         (execute_free_cfg_annotations): Don't call
544         delete_tree_cfg_annotations.
545
546         * ssaexpand.h: New file.
547         * expr.c (toplevel): Include ssaexpand.h.
548         (expand_assignment): Handle SSA names the same as register variables.
549         (expand_expr_real_1): Expand SSA names.
550         * cfgexpand.c (toplevel): Include ssaexpand.h.
551         (SA): New global variable.
552         (gimple_cond_pred_to_tree): Fold TERed comparisons into predicates.
553         (SSAVAR): New macro.
554         (set_rtl): New helper function.
555         (add_stack_var): Deal with SSA names, use set_rtl.
556         (expand_one_stack_var_at): Likewise.
557         (expand_one_stack_var): Deal with SSA names.
558         (stack_var_size_cmp): Use code (SSA_NAME / DECL) as tie breaker
559         before unique numbers.
560         (expand_stack_vars): Use set_rtl.
561         (expand_one_var): Accept SSA names, add asserts for them, feed them
562         to above subroutines.
563         (expand_used_vars): Expand all partitions (without default defs),
564         then only the local decls (ignoring those expanded already).
565         (expand_gimple_cond): Remove edges when jumpif() expands an
566         unconditional jump.
567         (expand_gimple_basic_block): Don't clear EDGE_EXECUTABLE here,
568         or remove abnormal edges.  Ignore insns setting the LHS of a TERed
569         SSA name.
570         (gimple_expand_cfg): Call into rewrite_out_of_ssa, initialize
571         members of SA; deal with PARM_DECL partitions here; expand
572         all PHI nodes, free tree datastructures and SA.  Commit instructions
573         on edges, clear EDGE_EXECUTABLE and remove abnormal edges here.
574         (pass_expand): Require and destroy PROP_ssa, verify SSA form, flow
575         info and statements at start, collect garbage at finish.
576         * tree-ssa-live.h (struct _var_map): Remove partition_to_var member.
577         (VAR_ANN_PARTITION) Remove.
578         (change_partition_var): Don't declare.
579         (partition_to_var): Always return SSA names.
580         (var_to_partition): Only accept SSA names.
581         (register_ssa_partition): Only check argument.
582         * tree-ssa-live.c (init_var_map): Don't allocate partition_to_var
583         member.
584         (delete_var_map): Don't free it.
585         (var_union): Only accept SSA names, simplify.
586         (partition_view_init): Mark only useful SSA names as used.
587         (partition_view_fini): Only deal with SSA names.
588         (change_partition_var): Remove.
589         (dump_var_map): Use ssa_name instead of partition_to_var member.
590         * tree-ssa.c (delete_tree_ssa): Don't remove PHI nodes on RTL
591         basic blocks.
592         * tree-outof-ssa.c (toplevel): Include ssaexpand.h and expr.h.
593         (struct _elim_graph): New member const_dests; nodes member vector of
594         ints.
595         (set_location_for_edge): New static helper.
596         (create_temp): Remove.
597         (insert_partition_copy_on_edge, insert_part_to_rtx_on_edge,
598         insert_value_copy_on_edge, insert_rtx_to_part_on_edge): New functions.
599         (new_elim_graph): Allocate const_dests member.
600         (clean_elim_graph): Truncate const_dests member.
601         (delete_elim_graph): Free const_dests member.
602         (elim_graph_size): Adapt to new type of nodes member.
603         (elim_graph_add_node): Likewise.
604         (eliminate_name): Likewise.
605         (eliminate_build): Don't take basic block argument, deal only with
606         partition numbers, not variables.
607         (get_temp_reg): New static helper.
608         (elim_create): Use it, deal with RTL temporaries instead of trees.
609         (eliminate_phi): Adjust all calls to new signature.
610         (assign_vars, replace_use_variable, replace_def_variable): Remove.
611         (rewrite_trees): Only do checking.
612         (edge_leader, stmt_list, leader_has_match, leader_match): Remove.
613         (same_stmt_list_p, identical_copies_p, identical_stmt_lists_p,
614         init_analyze_edges_for_bb, fini_analyze_edges_for_bb,
615         contains_tree_r, MAX_STMTS_IN_LATCH,
616         process_single_block_loop_latch, analyze_edges_for_bb,
617         perform_edge_inserts): Remove.
618         (expand_phi_nodes): New global function.
619         (remove_ssa_form): Take ssaexpand parameter.  Don't call removed
620         functions, initialize new parameter, remember partitions having a
621         default def.
622         (finish_out_of_ssa): New global function.
623         (rewrite_out_of_ssa): Make global.  Adjust call to remove_ssa_form,
624         don't reset in_ssa_p here, don't disable TER when mudflap.
625         (pass_del_ssa): Remove.
626         * tree-flow.h (struct var_ann_d): Remove out_of_ssa_tag and
627         partition members.
628         (execute_free_datastructures): Declare.
629         * Makefile.in (SSAEXPAND_H): New variable.
630         (tree-outof-ssa.o, expr.o, cfgexpand.o): Depend on SSAEXPAND_H.
631         * basic-block.h (commit_one_edge_insertion): Declare.
632         * passes.c (init_optimization_passes): Move pass_nrv and
633         pass_mudflap2 before pass_cleanup_cfg_post_optimizing, remove
634         pass_del_ssa, pass_free_datastructures, pass_free_cfg_annotations.
635         * cfgrtl.c (commit_one_edge_insertion): Make global, don't declare.
636         (redirect_branch_edge): Deal with super block when expanding, split
637         out jump patching itself into ...
638         (patch_jump_insn): ... here, new static helper.
639
640 2009-04-26  Michael Matz  <matz@suse.de>
641
642         * tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
643         beyond num_ssa_names.
644         * tree-ssa-ter.c (free_temp_expr_table): Likewise.
645         * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
646
647 2009-04-26  Jakub Jelinek  <jakub@redhat.com>
648
649         PR inline-asm/39543
650         * fwprop.c (forward_propagate_asm): New function.
651         (forward_propagate_and_simplify): Propagate also into __asm, if it
652         doesn't increase the number of referenced registers.
653
654         PR c/39889
655         * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
656
657 2009-04-26  Jakub Jelinek  <jakub@redhat.com>
658
659         * tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
660         note_nonlocal_vla_type for nonlocal VLAs.
661         (note_nonlocal_vla_type, note_nonlocal_block_vlas,
662         contains_remapped_vars, remap_vla_decls): New functions.
663         (convert_nonlocal_reference_stmt): If not optimizing, call
664         note_nonlocal_block_vlas on GIMPLE_BIND block vars.
665         (nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified
666         if it wasn't found in var_map.
667         (finalize_nesting_tree_1): Call remap_vla_decls.  If outermost
668         GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain
669         to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling
670         declare_vars.
671         * gimplify.c (nonlocal_vlas): New variable.
672         (gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local
673         referenced VLAs.
674         (gimplify_body): Create and destroy nonlocal_vlas.
675
676         * dwarf2out.c (loc_descr_plus_const): New function.
677         (build_cfa_aligned_loc, tls_mem_loc_descriptor,
678         mem_loc_descriptor, loc_descriptor_from_tree_1,
679         descr_info_loc, gen_variable_die): Use it.
680
681         * tree.h (DECL_BY_REFERENCE): Note that it is also valid for
682         !TREE_STATIC VAR_DECLs.
683         * dwarf2out.c (loc_by_reference, gen_decl_die): Handle
684         DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
685         (gen_variable_die): Likewise.  Don't look at TREE_PRIVATE if
686         DECL_BY_REFERENCE is valid.
687         * dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
688         for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
689         * tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
690         Copy DECL_BY_REFERENCE.
691         (struct nesting_copy_body_data): New type.
692         (nesting_copy_decl): New function.
693         (finalize_nesting_tree_1): Remap types of debug_var_chain variables,
694         if they have variable length.
695
696 2009-04-26  Michael Matz  <matz@suse.de>
697
698         * tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
699         mark new temporaries for renaming.
700
701 2009-04-26  Joseph Myers  <joseph@codesourcery.com>
702
703         PR c/39581
704         * c-decl.c (global_bindings_p): Return negative value.
705         (c_variable_size): New.  Based on variable_size from
706         stor-layout.c.
707         (grokdeclarator): Call c_variable_size not variable_size.
708
709 2009-04-26  Uros Bizjak  <ubizjak@gmail.com>
710
711         * config/i386/i386.c (print_operand) ['z']: Fix typo.
712
713 2009-04-26  Kai Tietz  <kai.tietz@onevision.com>
714
715         * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
716         Redefine it to just use mingw/include.
717         (ASM_SPEC): Rules for -m32 and -m64.
718         (LINK_SPEC): Use Likewise.
719         (SPEC_32): New define.
720         (SPEC_64): Likewise.
721         (SUB_LINK_SPEC): Likewise.
722         (MULTILIB_DEFAULTS): New define.
723         * config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
724         Add multilib options.
725         (MULTILIB_DIRNAMES): Likewise.
726         (MULTILIB_OSDIRNAMES): Likewise.
727         (LIBGCC): Likewise.
728         (INSTALL_LIBGCC): Likewise.
729
730 2009-04-26  Joseph Myers  <joseph@codesourcery.com>
731
732         PR c/39556
733         * c-tree.h (enum c_inline_static_type): New.
734         (record_inline_static): Declare.
735         * c-decl.c (struct c_inline_static, c_inline_statics,
736         record_inline_static, check_inline_statics): New.
737         (pop_file_scope): Call check_inline_statics.
738         (start_decl): Call record_inline_static instead of pedwarning
739         directly for static in inline function.
740         * c-typeck.c (build_external_ref): Call record_inline_static
741         instead of pedwarning directly for static referenced in inline
742         function.
743
744 2009-04-26  Steven Bosscher  <steven@gcc.gnu.org>
745
746         * df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
747         not new but only being rescanned.
748         * gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
749         reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
750         alloc_reg_set_mem, free_reg_set_mem, record_one_set,
751         record_set_info, compute_set, grealloc): Remove.
752         (recompute_all_luids): New function.
753         (gcse_main): Don't compute sets, and don't do related memory
754         allocations/free-ing.  If something changed before the end of the
755         pass, update LUIDs using recompute_all_luids.
756         (alloc_gcse_mem): Don't compute LUIDs.  Don't allocate reg_set memory.
757         (free_gcse_mem): Don't free it either.
758         (oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
759         Use the df insn LUIDs.
760         (load_killed_in_block): Likewise.
761         (compute_hash_table_work): Don't compute reg_set_in_block.
762         (compute_transp): Use DF_REG_DEF_CHAINs.
763         (local_cprop_pass): Don't use compute_sets and related functions.
764         (one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
765         Use get_max_uid() instead of max_cuid.
766         (insert_insn_end_basic_block, pre_insert_copy_insn,
767         update_ld_motion_stores): Don't try to
768         keep reg_set tables up to date.
769         (pre_insert_copies): Use df insn LUIDs.
770         (sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
771         (reg_set_info): Don't use extra bitmap argument.
772         (compute_store_table): Don't compute reg_set_in_block.  Use DF scan
773         information to compute regs_set_in_block.
774         (free_store_memory, store_motion): Don't nullify reg_set_in_block.
775         (bypass_jumps): Don't use compute_sets and friends.
776
777 2009-04-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
778
779         PR testsuite/39710
780         * opts.c (undocumented_msg): Do not leave blank even with
781         ENABLE_CHECKING.
782
783 2009-04-25  Joseph Myers  <joseph@codesourcery.com>
784
785         * c-decl.c (build_enumerator): Allow values folding to integer
786         constants but not integer constant expressions with a pedwarn if
787         pedantic.
788
789 2009-04-25  Joseph Myers  <joseph@codesourcery.com>
790
791         PR c/39582
792         * c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
793         with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
794         type is an integer constant.
795
796 2009-04-25  Uros Bizjak  <ubizjak@gmail.com>
797
798         PR target/39897
799         * config/i386/i386.c (print_operand) ['z']: Revert handling of
800         HImode operands.
801
802 2009-04-25  Joseph Myers  <joseph@codesourcery.com>
803
804         PR c/39564
805         * c-decl.c (grokdeclarator): Diagnose declarations of functions
806         with variably modified return type and no storage class
807         specifiers, except for the case of nested functions.  Distinguish
808         extern declarations of functions with variably modified return
809         types from those of objects with variably modified types.
810
811 2009-04-25  Jan Hubicka  <jh@suse.cz>
812
813         * tree.c (list_equal_p): New function.
814         * tree.h (list_equal_p): Declare.
815         * coretypes.h (edge_def, edge, const_edge, basic_block_def
816         basic_block_def, basic_block, const_basic_block): New.
817         * tree-eh.c (make_eh_edge): EH edges are not abnormal.
818         (redirect_eh_edge): New function.
819         (make_eh_edge_update_phi): EH edges are not abnormal.
820         * except.c: Include tree-flow.h.
821         (list_match): New function.
822         (eh_region_replaceable_by_p): New function.
823         (replace_region): New function.
824         (hash_type_list): New function.
825         (hash_eh_region): New function.
826         (eh_regions_equal_p): New function.
827         (merge_peers): New function.
828         (remove_unreachable_regions): Verify EH tree when checking;
829         merge peers.
830         (copy_eh_region_1): New function.
831         (copy_eh_region): New function.
832         (push_reachable_handler): New function.
833         (build_post_landing_pads, dw2_build_landing_pads): Be ready for
834         regions without label but with live RESX.
835         * except.h (redirect_eh_edge_to_label): New.
836         * tree-flow.h (redirect_eh_edge): New.
837         * coretypes.h (edge_def, edge, const_edge, basic_block_def
838         basic_block_def, basic_block, const_basic_block): Remove.
839         * Makefile.in (except.o): Add dependency on tree-flow.h
840         * tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
841         * basic-block.h (edge, const_edge, basic_block, const_basic_block):
842         Remove.
843
844 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
845
846         PR bootstrap/39645
847         * config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
848         on the destination of memcpy.
849
850 2009-04-25  Paolo Bonzini  <bonzini@gnu.org>
851
852         * doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
853         REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P,
854         REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference.
855
856 2009-04-25  Jan Hubicka  <jh@suse.cz>
857
858         * tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
859         (tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
860         to be reached by different label than left.
861         (update_eh_edges): Update comment; remove edge_to_remove if possible
862         and return true if suceeded.
863         (cleanup_empty_eh): Accept sharing map; handle shared regions.
864         (cleanup_eh): Compute sharing map.
865         * except.c (remove_eh_handler_and_replace): Add argument if we should
866         update regions.
867         (remove_unreachable_regions): Update for label sharing.
868         (label_to_region_map): Likewise.
869         (get_next_region_sharing_label): New function.
870         (remove_eh_handler_and_replace): Add update_catch_try parameter; update
871         prev_try pointers.
872         (remove_eh_handler): Update.
873         (remove_eh_region_and_replace_by_outer_of): New function.
874         * except.h (struct eh_region): Add next_region_sharing_label.
875         (remove_eh_region_and_replace_by_outer_of,
876         get_next_region_sharing_label): Declare.
877         * tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.
878
879 2009-04-25  Jan Hubicka  <jh@suse.cz>
880
881         * tree-cfg.c (split_critical_edges): Split also edges where we can't
882         insert code even if they are not critical.
883
884 2009-04-25  Jan Hubicka  <jh@suse.cz>
885
886         * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
887         (gimple_can_remove_branch_p): EH edges won't remove branch by
888         redirection.
889         * tree-inline.c (update_ssa_across_abnormal_edges): Do handle
890         updating of non-abnormal EH edges.
891         * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
892         (gimple_can_remove_branch_p): EH edges are unremovable by redirection.
893         (split_critical_edges): Split also edges where emitting code on them
894         will lead to splitting later.
895
896 2009-04-25  Uros Bizjak  <ubizjak@gmail.com>
897             H.J. Lu  <hongjiu.lu@intel.com>
898
899         PR target/39590
900         * configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether
901         the configured assembler supports fildq and fistpq mnemonics.
902         (HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS.
903         * configure: Regenerated.
904         * config.in: Ditto.
905
906         * config/i386/i386.c (print_operand): Handle 'Z'.
907         ['z']: Remove handling of special fild/fist suffixes.
908         (output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn.
909         * config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output
910         suffix of fild insn.
911         (*floatsi<mode>2_vector_mixed): Ditto.
912         (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto.
913         (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
914         (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
915         (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto.
916         * config/i386/gas.h (GAS_MNEMONICS): Remove.
917
918 2009-04-25  Ben Elliston  <bje@au.ibm.com>
919  
920         * genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
921         the source of a set operation.
922
923 2009-04-25  Anatoly Sokolov  <aesok@post.ru>
924
925         * target.h (struct gcc_target): Add case_values_threshold field.
926         * target-def.h (TARGET_CASE_VALUES_THRESHOLD): New.
927         (TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD.
928         * targhooks.c (default_case_values_threshold): New function.
929         * targhooks.h (default_case_values_threshold): Declare function.
930         * stmt.c (expand_case): Use case_values_threshold target hook.
931         * expr.h (case_values_threshold): Remove declartation.
932         * expr.c (case_values_threshold): Remove function.
933         * doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation.
934
935         * config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro.
936         * config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
937         (avr_case_values_threshold): Declare as static.
938         * config/avr/avr-protos.h (avr_case_values_threshold): Remove.
939
940         * config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro.
941         * config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
942         (mn10300_case_values_threshold): New function.
943
944 2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>
945
946         * ira.c (setup_cover_and_important_classes): Add enum cast.
947
948 2009-04-24  Vladimir Makarov  <vmakarov@redhat.com>
949
950         * genpreds.c (write_enum_constraint_num): Output definition of
951         CONSTRAINT_NUM_DEFINED_P macro.
952         * ira.c (setup_cover_and_important_classes): Use
953         CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef.
954         
955 2009-04-24  DJ Delorie  <dj@redhat.com>
956
957         * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
958         __SH2A_SINGLE_ONLY__ also.
959
960 2009-04-24  Steve Ellcey  <sje@cup.hp.com>
961
962         * config/ia64/ia64.md (movfs_internal): Allow flt constants.
963         (movdf_internal): Ditto.
964         * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow
965         SFmode and DFmode constants.
966         (ia64_print_operand): Add 'G' format for printing
967         floating point constants.
968
969 2009-04-24  Richard Guenther  <rguenther@suse.de>
970
971         * tree-vrp.c (extract_range_from_binary_expr): Handle overflow
972         from unsigned additions.
973
974 2009-04-24  Joseph Myers  <joseph@codesourcery.com>
975
976         * c-typeck.c (set_init_index): Allow array designators that are
977         not integer constant expressions with a pedwarn if pedantic.
978
979 2009-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
980
981         * simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
982         zero if no overlap in nonzero bits between the operands.
983
984 2009-04-24  Ian Lance Taylor  <iant@google.com>
985
986         * combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
987         (record_dead_and_set_regs): Likewise.
988         * df.h (struct df_mw_hardreg): Change flags field to int.
989         (struct df_base_ref): Likewise.
990         (struct df): Change changeable_flags field to int.
991         * df-scan.c (df_defs_record): Change clobber_flags to int.
992         * dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
993         constants rather than #define macros.
994         (enum dwarf_attribute, enum dwarf_location_atom): Likewise.
995         (enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
996         (enum dwarf_calling_convention): Likewise.
997         (enum dwarf_line_number_x_ops): Likewise.
998         (enum dwarf_call_frame_info): Likewise.
999         (enum dwarf_source_language): Likewise.
1000         * dwarf2out.c (int_loc_descriptor): Add cast to enum type.
1001         (add_calling_convention_attribute): Likewise.
1002         * fold-const.c (fold_undefer_overflow_warnings): Add cast to enum type.
1003         (combine_comparisons): Change compcode to int.  Add cast to enum type.
1004         * genrecog.c (maybe_both_true_2): Change c to int.
1005         (write_switch): Likewise.  Add cast to enum type.
1006         * gimplify.c (gimplify_omp_for): Handle return values from
1007         gimplify_expr using MIN rather than bitwise or.
1008         (gimplify_expr): Add cast to enum type.
1009         * ipa-prop.c (update_jump_functions_after_inlining): Change
1010         IPA_BOTTOM to IPA_JF_UNKNOWN.
1011         * ira.c (setup_class_subset_and_memory_move_costs): Change mode to int.
1012         Add casts to enum type.
1013         (setup_cover_and_important_classes): Change cl to int.  Add casts
1014         to enum type.
1015         (setup_class_translate): Change cl and mode to int.
1016         (ira_init_once): Change mode to int.
1017         (free_register_move_costs): Likewise.
1018         (setup_prohibited_mode_move_regs): Add casts to enum type.
1019         * langhooks.c (add_builtin_function_common): Rework assertion that
1020         value fits bitfield.
1021         * mcf.c (add_fixup_edge): Change type parameter to edge_type.
1022         * omega.c (omega_do_elimination): Avoid math on enum types.
1023         * optabs.c (expand_vec_shift_expr): Remove casts to int.
1024         * opts.c (set_debug_level): Change 2 to enum constant.  Use new
1025         int local to handle integral_argment value.
1026         * regmove.c (try_auto_increment): Change PUT_MODE to
1027         PUT_REG_NOTE_KIND.
1028         * reload.c (push_secondary_reload): Add casts to enum type.
1029         (secondary_reload_class, find_valid_class): Likewise.
1030         * reload1.c (emit_input_reload_insns): Likewise.
1031         * rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
1032         * sel-sched.c (init_hard_regs_data): Change cur_mode to int.
1033         * sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
1034         constant.
1035         * tree.c (build_common_builtin_nodes): Add casts to enum type.
1036         * tree-complex.c (complex_lattice_t): Typedef to int rather than
1037         enum type.
1038         (expand_complex_libcall): Add casts to enum type.
1039         * tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
1040         * tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
1041         with ERROR_MARK, not NUM_TREE_CODES.
1042         (vect_create_epilog_for_reduction): Likewise.
1043         (vectorizable_reduction): Don't initialize epiloc_reduc_code.
1044         When not using it, set it to ERROR_MARK rather than NUM_TREE_CODES.
1045         * tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
1046         enum machine_mode.
1047         * tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
1048         vect_unused_in_loop.  Change 0 to loop_vect.
1049         * tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum type.
1050         * var-tracking.c (get_init_value): Change return type to enum
1051         var_init_status.
1052         * vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
1053         * config/arm/arm.c (fp_model_for_fpu): Change to array to enum
1054         arm_fp_model.
1055         (arm_override_options): Add casts to enum type.
1056         (arm_emit_tls_decoration): Likewise.
1057         * config/i386/i386.c (ix86_function_specific_restore): Add casts
1058         to enum type.
1059         * config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
1060         * config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
1061         * config/rs6000/rs6000.c (rs6000_override_options): Add casts to
1062         enum type.
1063         * config/s390/s390.c (code_for_builtin_64): Change to array of
1064         enum insn_code.
1065         (code_for_builtin_31): Likewise.
1066         (s390_expand_builtin): Change code_for_builtin to enum insn_code
1067         const *.
1068         * config/sparc/sparc.c (sparc_override_options): Change value
1069         field in struct code_model to enum cmodel.  In initializer change
1070         0 to NULL and add cast to enum type.
1071
1072         * c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
1073         Change all callers.  Issue a -Wc++-compat warning using
1074         lhs_origtype if necessary.
1075         (convert_for_assignment): Issue -Wc++-compat warnings about
1076         invalid conversions to enum type on assignment.
1077         * c-common.h (build_modify_expr): Update declaration.
1078
1079 2009-04-24  Nick Clifton  <nickc@redhat.com>
1080
1081         * config/iq2000/iq2000.c (function_arg): Handle TImode values.
1082         (function_arg_advance): Likewise.
1083         * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the
1084         5th alternative.
1085
1086 2009-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1087
1088         * config/s390/constraints.md ('I', 'J'): Fix condition.
1089
1090 2009-04-24  Diego Novillo  <dnovillo@google.com>
1091
1092         * gengtype-parse.c (parse_error): Add newline after message.
1093
1094 2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>
1095
1096         * config/i386/sse.md (avxmodesuffixs): Removed.
1097         (*avx_pinsr<avxmodesuffixs>): Renamed to ...
1098         (*avx_pinsr<ssevecsize>): This.
1099
1100 2009-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
1101
1102         * loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes;
1103         follow chains of regs with a single definition, and allow expressions
1104         that are function_invariant_p.
1105         (simple_rhs_p): Allow expressions that are function_invariant_p.
1106
1107 2009-04-24  Paolo Bonzini  <bonzini@gnu.org>
1108
1109         PR middle-end/39867
1110         * fold-const.c (fold_cond_expr_with_comparison): When folding
1111         > and >= to MAX, make sure the MAX uses the same type as the
1112         comparison's operands.
1113
1114 2009-04-24  Nick Clifton  <nickc@redhat.com>
1115
1116         * config/frv/frv.c (frv_frame_access): Do not use reg+reg
1117         addressing for DImode accesses.
1118         (frv_print_operand_address): Handle PLUS case.
1119         * config/frv/frv.h (FIXED_REGISTERS): Mark link register as fixed.
1120
1121 2009-04-24  Jakub Jelinek  <jakub@redhat.com>
1122
1123         PR rtl-optimization/39794
1124         * alias.c (canon_true_dependence): Add x_addr argument.
1125         * rtl.h (canon_true_dependence): Adjust prototype.
1126         * cse.c (check_dependence): Adjust canon_true_dependence callers.
1127         * cselib.c (cselib_invalidate_mem): Likewise.
1128         * gcse.c (compute_transp): Likewise.
1129         * dse.c (scan_reads_nospill): Likewise.
1130         (record_store, check_mem_read_rtx): Likewise.  For non-const-or-frame
1131         addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
1132         canon_base_addr of the group, plus optional offset.
1133         (struct group_info): Rename canon_base_mem to
1134         canon_base_addr.
1135         (get_group_info): Set canon_base_addr to canon_rtx of base, not
1136         canon_rtx of base_mem.
1137
1138 2009-04-23  Paolo Bonzini  <bonzini@gnu.org>
1139
1140         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
1141         Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS.
1142
1143 2009-04-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1144
1145         * config/spu/spu-builtins.h: Delete file.
1146
1147         * config/spu/spu.h (enum spu_builtin_type): Move here from
1148         spu-builtins.h.
1149         (struct spu_builtin_description): Likewise.  Add GTY marker.
1150         Do not use enum spu_function_code or enum insn_code.
1151         (spu_builtins): Add extern declaration.
1152
1153         * config/spu/spu.c: Do not include "spu-builtins.h".
1154         (enum spu_function_code, enum spu_builtin_type_index,
1155         V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
1156         V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
1157         unsigned_V8HI_type_node, unsigned_V4SI_type_node,
1158         unsigned_V2DI_type_node): Move here from spu-builtins.h.
1159         (spu_builtin_types): Make static.  Add GTY marker.
1160         (spu_builtins): Add extern declaration with GTY marker.
1161         Include "gt-spu.h".
1162
1163         * config/spu/spu-c.c: Do not include "spu-builtins.h".
1164         (spu_resolve_overloaded_builtin): Do not use spu_function_code.
1165         Check programmatically whether all parameters are scalar.
1166
1167         * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
1168
1169 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1170
1171         * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
1172         assignment from the constructor either if the target is volatile.
1173
1174 2009-04-23  Daniel Jacobowitz  <dan@codesourcery.com>
1175
1176         * config/arm/arm.md (insv): Do not share operands[0].
1177
1178 2009-04-23  Nathan Sidwell  <nathan@codesourcery.com>
1179
1180         * config/vxlib-tls.c (active_tls_threads): Delete.
1181         (delete_hook_installed): New.
1182         (tls_delete_hook): Don't delete the delete hook.
1183         (tls_destructor): Delete it here.
1184         (__gthread_set_specific): Adjust installing the delete hook.
1185         (tls_delete_hook): Use __gthread_enter_tsd_dtor_context and
1186         __gthread_leave_tsd_dtor_context.
1187
1188 2009-04-23  Rafael Avila de Espindola  <espindola@google.com>
1189
1190         * c-format.c (gcc_tdiag_char_table): Add support for %E.
1191
1192 2009-04-23  Uros Bizjak  <ubizjak@gmail.com>
1193
1194         * config/alpha/alpha.c (alpha_legitimize_reload_address): Add cast to
1195         enum type.
1196         (alpha_rtx_costs): Ditto.
1197         (emit_unlikely_jump): Use add_reg_note.
1198         (emit_frame_store_1): Ditto.
1199         (alpha_expand_prologue): Ditto.
1200         (alpha_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1201         * config/alpha/alpha.c (Unicos/Mk address splitter): Use add_reg_note.
1202
1203 2009-04-23  Nick Clifton  <nickc@redhat.com>
1204
1205         * config/v850/v850.md (epilogue): Remove suppressed code.
1206         (return): Rename to return_simple and remove test of frame size.
1207         * config/v850/v850.c (expand_epilogue): Rename call to gen_return
1208         to gen_return_simple.
1209
1210 2009-04-22  Jing Yu  <jingyu@google.com>
1211
1212         PR testsuite/39781
1213         * config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
1214
1215 2009-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1216
1217         PR C/31499
1218         * c-typeck.c (process_init_element): Treat VECTOR_TYPE like ARRAY_TYPE
1219         and RECORD_TYPE/UNION_TYPE.  When outputing the actual element and the
1220         value is a VECTOR_CST, the element type is the element type of the
1221         vector.
1222
1223 2009-04-22  DJ Delorie  <dj@redhat.com>
1224
1225         * config/m32c/m32c.h: Update GTY annotations to new syntax.
1226
1227 2009-04-22  Jakub Jelinek  <jakub@redhat.com>
1228
1229         * alias.c (find_base_term): Move around LO_SUM case, so that
1230         CONST falls through into PLUS/MINUS handling.
1231
1232         PR c/39855
1233         * fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
1234         into 0, use omit_one_operand.
1235
1236 2009-04-23  Ben Elliston  <bje@au.ibm.com>
1237
1238         * config/rs6000/linux-unwind.h (get_regs): Remove type
1239         puns. Change the type of `pc' to an array of unsigned ints and
1240         update all users.  Constify frame24.
1241
1242 2009-04-22  DJ Delorie  <dj@redhat.com>
1243
1244         * config/m32c/m32c.c (m32c_special_page_vector_p): Move
1245         declarations before code.
1246         (current_function_special_page_vector): Likewise.
1247         (m32c_expand_insv): Silence a warning.
1248
1249 2009-04-21  Taras Glek  <tglek@mozilla.com>
1250
1251         * alias.c: Update GTY annotations to new syntax.
1252         * basic-block.h: Likewise.
1253         * bitmap.h: Likewise.
1254         * c-common.h: Likewise.
1255         * c-decl.c: Likewise.
1256         * c-parser.c: Likewise.
1257         * c-pragma.c: Likewise.
1258         * c-tree.h: Likewise.
1259         * cfgloop.h: Likewise.
1260         * cgraph.h: Likewise.
1261         * config/alpha/alpha.c: Likewise.
1262         * config/arm/arm.h: Likewise.
1263         * config/avr/avr.h: Likewise.
1264         * config/bfin/bfin.c: Likewise.
1265         * config/cris/cris.c: Likewise.
1266         * config/darwin.c: Likewise.
1267         * config/frv/frv.c: Likewise.
1268         * config/i386/i386.c: Likewise.
1269         * config/i386/i386.h: Likewise.
1270         * config/i386/winnt.c: Likewise.
1271         * config/ia64/ia64.h: Likewise.
1272         * config/iq2000/iq2000.c: Likewise.
1273         * config/mips/mips.c: Likewise.
1274         * config/mmix/mmix.h: Likewise.
1275         * config/pa/pa.c: Likewise.
1276         * config/pa/pa.h: Likewise.
1277         * config/rs6000/rs6000.c: Likewise.
1278         * config/s390/s390.c: Likewise.
1279         * config/sparc/sparc.c: Likewise.
1280         * config/xtensa/xtensa.c: Likewise.
1281         * cselib.h: Likewise.
1282         * dbxout.c: Likewise.
1283         * dwarf2out.c: Likewise.
1284         * except.c: Likewise.
1285         * except.h: Likewise.
1286         * fixed-value.h: Likewise.
1287         * function.c: Likewise.
1288         * function.h: Likewise.
1289         * gimple.h: Likewise.
1290         * integrate.c: Likewise.
1291         * optabs.c: Likewise.
1292         * output.h: Likewise.
1293         * real.h: Likewise.
1294         * rtl.h: Likewise.
1295         * stringpool.c: Likewise.
1296         * tree-data-ref.c: Likewise.
1297         * tree-flow.h: Likewise.
1298         * tree-scalar-evolution.c: Likewise.
1299         * tree-ssa-address.c: Likewise.
1300         * tree-ssa-alias.h: Likewise.
1301         * tree-ssa-operands.h: Likewise.
1302         * tree.c: Likewise.
1303         * tree.h: Likewise.
1304         * varasm.c: Likewise.
1305         * varray.h: Likewise.
1306         * vec.h: Likewise.
1307         * coretypes.h: Do not define GTY macro if it is already defined.
1308         * doc/gty.texi: Update GTY documentation to new syntax.
1309         * gengtype-lex.l: Enforce attribute-like syntax for GTY
1310         annotations on structs.
1311         * gengtype-parse.c: Likewise.
1312
1313 2009-04-22  Mark Heffernan  <meheff@google.com>
1314
1315         * gcc.c (LINK_COMMAND_SPEC): Link with gcov with -fprofile-generate=.
1316
1317 2009-04-22  Kazu Hirata  <kazu@codesourcery.com>
1318
1319         * config/arm/arm.c (arm_rtx_costs_1): Use power_of_two_operand
1320         where appropriate.
1321
1322 2009-04-22  Kazu Hirata  <kazu@codesourcery.com>
1323
1324         * config/arm/arm.c (arm_size_rtx_costs): Treat a PLUS with a shift
1325         the same as a PLUS without a shift.  Increase the cost of a
1326         CONST_INT in MULT.
1327
1328 2009-04-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1329
1330         * Makefile.in: Update dependencies.
1331         * errors.c (warning): Remove unused parameter 'opt'. Returns 'void'.
1332         * errors.h: Remove bogus comment about compatibility.
1333         (warning): Update declaration.
1334         * genautomata.c: Update all calls to warning.
1335         * gimple.c: Do not include errors.h. Include toplev.h.
1336         * tree-ssa-structalias.c: Do not include errors.h.
1337         * omega.c: Likewise.
1338         * tree-ssa-reassoc.c: Likewise.
1339         * config/spu/spu-c.c: Likewise.
1340         * config/spu/t-spu-elf: Update dependencies.
1341
1342 2009-04-22  Richard Guenther  <rguenther@suse.de>
1343
1344         PR tree-optimization/39824
1345         * tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
1346         make sure the types are compatible.
1347
1348 2009-04-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1349
1350         PR c++/14875
1351         * c-common.c (c_parse_error): Take a token_flags parameter.
1352         Use token_type for the token type instead.
1353         Pass token_flags to cpp_type2name.
1354         * c-common.h (c_parse_error): Update declaration.
1355         * c-parser.c (c_parser_error): Pass 0 as token flags.
1356
1357 2009-04-22  Andrey Belevantsev  <abel@ispras.ru>
1358
1359         PR rtl-optimization/39580
1360         * sel-sched-ir.c (insert_in_history_vect): Remove incorrect gcc_assert. 
1361         
1362 2009-04-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1363
1364         * function.c (expand_function_end): Do not emit a jump to the "naked"
1365         return label for fall-through returns.
1366         * except.c (sjlj_emit_function_exit): Always place the call to the
1367         unregister function at the location installed by expand_function_end.
1368
1369 2009-04-22  Richard Guenther  <rguenther@suse.de>
1370
1371         PR tree-optimization/39845
1372         * tree-switch-conversion.c (build_arrays): Add new referenced vars.
1373         (gen_inbound_check): Likewise.
1374
1375 2009-04-22  Nathan Sidwell  <nathan@codesourcery.com>
1376
1377         * gthr-vxworks.h (struct __gthread_once_t): Add alignment and
1378         padding for PPC.
1379         (__GTHREAD_ONCE_INIT): Adjust ppc initializer.
1380         * config/vxlib.c (__gthread_once): Add race guard for PPC.
1381
1382 2009-04-22  Paolo Bonzini  <bonzini@gnu.org>
1383
1384         * config/sh/sh.c (shift_insns_rtx, shiftcosts, gen_shifty_op,
1385         sh_dynamicalize_shift_p, shl_and_scr_length): Truncate
1386         shift counts to avoid out-of-bounds array accesses.
1387
1388 2009-04-22  Paolo Bonzini  <bonzini@gnu.org>
1389
1390         * config/sparc/sparc.h (POINTER_SIZE): Fix comment.
1391         (Pmode): Move above.
1392
1393 2009-04-22  Uros Bizjak  <ubizjak@gmail.com>
1394
1395         * config/alpha/alpha.c: Use REG_P, MEM_P, CONST_INT_P, JUMP_P,
1396         NONJUMP_INSN_P, CALL_P, LABEL_P and NOTE_P predicates instead of
1397         GET_CODE macro.  Use IN_RANGE macro where appropriate.
1398         * config/alpha/alpha.h: Ditto.
1399         * config/alpha/alpha.md: Ditto.
1400         * config/alpha/constraints.md: Ditto.
1401         * config/alpha/predicates.md: Ditto.
1402         
1403 2009-04-22  Paolo Bonzini  <bonzini@gnu.org>
1404
1405         * defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default.
1406         * config/frv/frv.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1407         * config/s390/s390.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1408         * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1409         * config/spu/spu.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1410         * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1411         * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1412         * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1413         * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1414         * config/crx/crx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1415         * config/fr30/fr30.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1416         * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1417         * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1418         * config/iq2000/iq2000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1419         * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1420         * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1421         * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1422         * config/picochip/picochip.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1423         * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1424         * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1425         * config/score/score.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1426         * config/arm/arm.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1427         * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1428         * config/mips/mips.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1429         * config/v850/v850.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1430         * config/mmix/mmix.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1431         * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1432
1433 2009-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1434
1435         * cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks
1436         references from comments.
1437         * cfgbuild.c: (count_basic_blocks): Delete.
1438         (find_basic_blocks_1): Delete.
1439         (find_basic_blocks): Delete.
1440         * except.c (finish_eh_generation): Make static.  Move comment from
1441         except.h here.  Remove find_basic_blocks references from comments.
1442         * except.h (finish_eh_generation): Delete.
1443         * basic-block.h (find_basic_blocks): Delete.
1444         * config/sh/sh.c (sh_output_mi_thunk): Delete a "#if 0" block.
1445
1446 2009-04-22  Dave Korn  <dave.korn.cygwin@gmail.com>
1447
1448         * sdbout.c (sdbout_symbol):  Pass VOIDmode to eliminate_regs.
1449         (sdbout_parms):  Likewise.
1450
1451 2009-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1452
1453         * config/sh/sh.c (prepare_cbranch_operands): Use
1454         LAST_AND_UNUSED_RTX_CODE instead of CODE_FOR_nothing.
1455         (expand_cbranchdi4): Likewise.
1456         (from_compare): Add cast to enum type.
1457         (expand_cbranchsi4): Use add_reg_note.
1458         (output_stack_adjust, push, pop, sh_expand_prologue): Likewise.
1459         (sh_insn_length_adjustment): Use sh_cpu_attr instead of sh_cpu.
1460         (sh_initialize_trampoline): Change 0 to LCT_NORMAL in function call.
1461         (sh_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1462         * config/sh/sh.md (cbranchsi4): Use LAST_AND_UNUSED_RTX_CODE
1463         instead of CODE_FOR_nothing.
1464         (cbranchdi4): Likewise.  Fix the order of arguments for
1465         gen_rtx_fmt_ee.
1466         (push_fpscr): Use add_reg_note.
1467         (pop_fpscr, movdf_i4+1, reload_outdf__RnFRm+3, reload_outdf__RnFRm+4,
1468         reload_outdf__RnFRm+5, fpu_switch+1, fpu_switch+2): Likewise.
1469         
1470 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
1471
1472         * ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998,
1473         ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
1474         ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
1475         ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib,
1476         ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog,
1477         FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4,
1478         config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver,
1479         config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h,
1480         config/alpha/x-vms, config/arc/t-arc,
1481         config/arm/README-interworking, config/arm/arm-c.c,
1482         config/arm/gentune.sh, config/arm/libgcc-bpabi.ver,
1483         config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp,
1484         config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi,
1485         config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf,
1486         config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe,
1487         config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver,
1488         config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf,
1489         config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux,
1490         config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris,
1491         config/cris/t-elfmulti, config/crx/t-crx,
1492         config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def,
1493         config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver,
1494         config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh,
1495         config/h8300/t-h8300, config/i386/athlon.md,
1496         config/i386/darwin-libgcc.10.4.ver,
1497         config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver,
1498         config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc,
1499         config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386,
1500         config/i386/t-linux64, config/i386/t-nwld,
1501         config/i386/t-rtems-i386, config/i386/t-sol2-10,
1502         config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h,
1503         config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver,
1504         config/ia64/libgcc-ia64.ver, config/ia64/linux.h,
1505         config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64,
1506         config/iq2000/abi, config/iq2000/lib2extra-funcs.c,
1507         config/iq2000/t-iq2000, config/libgcc-glibc.ver,
1508         config/m32r/libgcc-glibc.ver, config/m32r/t-linux,
1509         config/m32r/t-m32r, config/m68hc11/t-m68hc11,
1510         config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs,
1511         config/m68k/t-uclinux, config/mcore/t-mcore,
1512         config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md,
1513         config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm,
1514         config/mips/crtn.asm, config/mips/irix-crti.asm,
1515         config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver,
1516         config/mips/mips-dsp.md, config/mips/mips-dspr2.md,
1517         config/mips/mips-fixed.md, config/mips/sb1.md,
1518         config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast,
1519         config/mips/t-iris6, config/mips/t-isa3264,
1520         config/mips/t-libgcc-mips16, config/mips/t-linux64,
1521         config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems,
1522         config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk,
1523         config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st,
1524         config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix,
1525         config/mn10300/t-linux, config/mn10300/t-mn10300,
1526         config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux,
1527         config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11,
1528         config/picochip/libgccExtras/clzsi2.asm,
1529         config/picochip/t-picochip, config/rs6000/darwin-ldouble-format,
1530         config/rs6000/darwin-libgcc.10.4.ver,
1531         config/rs6000/darwin-libgcc.10.5.ver,
1532         config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h,
1533         config/rs6000/t-aix43, config/rs6000/t-aix52,
1534         config/rs6000/t-darwin, config/rs6000/t-fprules,
1535         config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64,
1536         config/rs6000/t-lynx, config/rs6000/t-netbsd,
1537         config/rs6000/t-ppccomm, config/rs6000/t-ppcendian,
1538         config/rs6000/t-ppcgas, config/rs6000/t-rs6000,
1539         config/rs6000/t-rtems, config/rs6000/t-spe,
1540         config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver,
1541         config/score/t-score-elf, config/sh/divcost-analysis,
1542         config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh,
1543         config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian,
1544         config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h,
1545         config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h,
1546         config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2,
1547         config/stormy16/stormy-abi, config/stormy16/t-stormy16,
1548         config/t-darwin, config/t-libunwind, config/t-libunwind-elf,
1549         config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver,
1550         config/t-slibgcc-sld, config/t-sol2, config/t-vxworks,
1551         config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850,
1552         config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def,
1553         gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog,
1554         java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver,
1555         limitx.h, version.c, xcoff.h: Add copyright and license notices.
1556         * config/h8300/genmova.sh: Include copyright and license notices
1557         in generated output.
1558         * config/h8300/mova.md: Regenerate.
1559         * doc/install.texi2html: Include word "Copyright" in copyright
1560         notice and use name "Free Software Foundation, Inc.".
1561         * ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
1562         ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
1563         ChangeLog-2007, ChangeLog-2008: Correct dates.
1564
1565 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1566
1567         * c-common.c (c_common_truthvalue_conversion): Use LOCATION to build
1568         NE_EXPR operations as well.
1569         * c-parser.c (c_parser_condition): Do not set location information on
1570         the condition.
1571         (c_parser_conditional_expression): Likewise.
1572         (c_parser_binary_expression): Set location information on operators.
1573         * c-typeck.c (build_unary_op) <TRUTH_NOT_EXPR>: Reset the location if
1574         TRUTH_NOT_EXPR has been folded.
1575         * fold-const.c (fold_truth_not_expr): Copy location information from
1576         the incoming expression to the outgoing one.
1577         * gimplify.c (shortcut_cond_r): Add locus parameter.  Pass it to
1578         recursive calls on the LHS of the operator but pass that of the
1579         operator to recursive calls on the RHS of the operator.  Set it
1580         on the COND_EXPR.
1581         (shortcut_cond_expr): Set the locus of the operator on the second
1582         COND_EXPR and that of the expression on the first in degenerate cases.
1583         Pass the locus of the expression to calls to shortcut_cond_r.
1584         Set the locus of the 'then' block on the associated jump, if any.
1585         (gimplify_boolean_expr): Add locus parameter.  Set it on the COND_EXPR.
1586         (gimplify_expr) <TRUTH_ANDIF_EXPR>: Pass the locus of the outer
1587         expression to call to gimplify_boolean_expr.
1588
1589 2009-04-21  Kai Tietz  <kai.tietz@onevision.com>
1590
1591         * config.gcc: Add additional configuration for
1592         i686-w64-mingw* and x86_64-w64-mingw* triplet.
1593         * config/i386/mingw-w64.h: New mingw-w64 specific header.
1594         (CPP_SPEC): Redefine for allowing -municode option.
1595         (STARTFILE_SPEC): Likewise.
1596         * config/i386/t-mingw-w64: New.
1597         * config/i386/mingw-w64.opt: New.
1598         (municode): Add new target option.
1599         * doc/invoke.texi (municode): Add documentation for new option.
1600
1601 2009-04-21  Ian Lance Taylor  <iant@google.com>
1602
1603         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1604         Correct test for number of arguments.
1605         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
1606
1607 2009-04-21  Andreas Schwab  <schwab@linux-m68k.org>
1608
1609         * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Use enum for second
1610         argument of emit_library_call.
1611
1612 2009-04-21  Richard Guenther  <rguenther@suse.de>
1613
1614         PR middle-end/39829
1615         * gimple.c (walk_stmt_load_store_addr_ops): Catch addresses
1616         inside VIEW_CONVERT_EXPRs.
1617
1618 2009-04-21  Martin Jambor  <mjambor@suse.cz>
1619
1620         * tree-switch-conversion.c (build_constructors): Split a long line.
1621         (constructor_contains_same_values_p): New function.
1622         (build_one_array): Create assigns of constants if possible, do not
1623         call mark_sym_for_renaming, call update_stmt.
1624         (build_arrays): Call make_ssa_name (create_tmp_var ()) instead of
1625         make_rename_temp.  Do not call mark_symbols_for_renaming, call
1626         update_stmt.
1627         (gen_def_assigns): Do not call mark_symbols_for_renaming or
1628         find_new_referenced_vars, call update_stmt.
1629         (gen_inbound_check): Use create_tmp_var and create ssa names manually
1630         instead of calling make_rename_temp.  Do not call
1631         find_new_referenced_vars or mark_symbols_for_renaming, call
1632         update_stmt.
1633
1634 2009-04-21  Richard Guenther  <rguenther@suse.de>
1635
1636         PR tree-optimization/39827
1637         * tree-ssa-phiprop.c (propagate_with_phi): Check SSA_NAME is in range.
1638         (tree_ssa_phiprop): Pass the correct array size.
1639
1640 2009-04-21  Uros Bizjak  <ubizjak@gmail.com>
1641
1642         * config/alpha/alpha.md (tune): Add cast to enum attr_tune.
1643
1644 2009-04-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1645
1646         PR 16202
1647         * c-typeck.c (lvalue_p): Move declaration ...
1648         * c-common.h (lvalue_p): ... to here.
1649         * c-common.c (candidate_equal_p): New.
1650         (add_tlist): Use it.
1651         (merge_tlist): Use it.
1652         (warn_for_collisions_1): Likewise.
1653         (warning_candidate_p): Accept more candidates.
1654         (verify_tree): A warning candidate can be an expression. Use
1655         candidate_equal_p.
1656
1657 2009-04-21  Ben Elliston  <bje@au.ibm.com>
1658
1659         PR target/5267
1660         * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
1661         for -mcall-eabi, -mcall-aixdesc, -mcall-freebsd and -mcall-openbsd
1662         options.  Remove -mcall-solaris documentation.
1663
1664 2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1665
1666         PR c++/13358
1667         * doc/invoke.texi (-Wlong-long): Update description.
1668         * c-lex (interpret_integer): Only warn if there was no previous
1669         overflow and -Wlong-long is enabled.
1670         * c-decl.c (declspecs_add_type): Drop redundant flags.
1671         * c.opt (Wlong-long): Init to -1.
1672         * c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
1673         and front-end warn_long_long. Wlong-long only depends on other
1674         flags if it is uninitialized.
1675         * c-parser.c (disable_extension_diagnostics): warn_long_long is
1676         the same for CPP and FE.
1677         (restore_extension_diagnostics): Likewise.
1678
1679 2009-04-20  Ian Lance Taylor  <iant@google.com>
1680
1681         Fix enum conversions which are invalid in C++:
1682         * auto-inc-dec.c (attempt_change): Change 0 to SET in function call.
1683         * calls.c (store_one_arg): Change 0 to EXPAND_NORMAL in function call.
1684         * cse.c (hash_rtx_cb): Change 0 to VOIDmode in function call.
1685         * dbgcnt.c (dbg_cnt_set_limit_by_name): Add cast to enum type.
1686         * dbxout.c (dbxout_symbol): Change 0 to VOIDmode in function call.
1687         (dbxout_parms): Likewise.
1688         * df-core.c (df_set_flags): Change changeable_flags parameter to int.
1689         (df_clear_flags): Likewise.
1690         * df-problems.c (df_rd_bb_local_compute_process_def): Change
1691         top_flag parameter to int.
1692         (df_chain_create_bb_process_use): Likewise.
1693         (df_chain_add_problem): Change chain_flags parameter to unsigned int.
1694         Remove cast.
1695         * df-scan.c (df_ref_create): Change ref_flags parameter to int.
1696         (df_ref_create_structure, df_def_record_1): Likewise.
1697         (df_defs_record, df_uses_record, df_get_call_refs): Likewise.
1698         (df_notes_rescan): Change 0 to VOIDmode in function call.
1699         (df_get_call_refs, df_insn_refs_collect): Likewise.
1700         (df_bb_regs_collect): Likewise.
1701         (df_entry_block_defs_collect): Likewise.
1702         (df_exit_block_uses_collect): Likewise.
1703         * df.h: Update declarations.
1704         * double-int.c (double_int_divmod): Add cast to enum type.
1705         * dse.c (replace_inc_dec): Reverse parameters to gen_int_mode.
1706         * dwarf2out.c (new_reg_loc_descr): Add casts to enum type.
1707         (based_loc_descr): Likewise.
1708         (loc_descriptor_from_tree_1): Change first_op and second_op to
1709         enum dwarf_location_atom.  Add cast to enum type.
1710         * expmed.c (init_expmed): Change 0 to SET in function call.
1711         * expr.c (init_expr_target): Change 0 to VOIDmode in function call.
1712         (expand_expr_real_1): Change 0 to EXPAND_NORMAL in function call.
1713         (do_store_flag): Likewise.
1714         * fixed-value.h (struct fixed_value): Change mode to enum
1715         machine_mode.
1716         * function.c (assign_parms): Change 0 to VOIDmode in function call.
1717         * genautomata.c (insert_automaton_decl): Change 1 to INSERT in
1718         function call.
1719         (insert_insn_decl, insert_decl, insert_state): Likewise.
1720         (automata_list_finish): Likewise.
1721         * genrecog.c (process_define_predicate): Add cast to enum type.
1722         * gensupport.c (init_predicate_table): Add cast to enum type.
1723         * gimple.c (gimple_build_return): Change 0 to ERROR_MARK in
1724         function call.
1725         (gimple_build_call_1, gimple_build_label): Likewise.
1726         (gimple_build_goto, gimple_build_asm_1): Likewise.
1727         (gimple_build_switch_1, gimple_build_cdt): Likewise.
1728         * gimple.h (GIMPLE_CHECK): Change 0 to ERROR_MARK in function call.
1729         (enum fallback): Rename from enum fallback_t.
1730         (fallback_t): Typedef as int.
1731         * gimple-low.c (lower_builtin_setjmp): Change TSI_SAME_STMT to
1732         GSI_SAME_STMT in function call.
1733         * ira.c (setup_class_subset_and_memory_move_costs): Add casts to
1734         enum type.
1735         (setup_reg_class_relations): Likewise.
1736         (setup_reg_class_nregs): Change cl to int.  Add casts to enum type.
1737         (setup_prohibited_class_mode_regs): Add cast to enum type.
1738         (setup_prohibited_mode_move_regs): Likewise.
1739         * ira-costs.c (record_reg_classes): Change rclass to enum reg_class.
1740         (record_address_regs): Change i to enum reg_class.
1741         * lists.c (alloc_EXPR_LIST): Add cast to enum type.
1742         * machmode.h (GET_MODE_CLASS): Cast value to enum mode_class.
1743         (GET_MODE_WIDER_MODE): Cast value to enum machine_mode.
1744         (GET_MODE_2XWIDER_MODE): Likewise.
1745         (GET_CLASS_NARROWEST_MODE): Likewise.
1746         * omp-low.c (expand_omp_for): Add cast to enum type.
1747         * optabs.c (debug_optab_libfuncs): Add casts to enum type.
1748         * opts.c (enable_warning_as_error): Change kind to diagostic_t.
1749         * postreload.c (reload_cse_simplify_operands): Change rclass local
1750         to enum reg_class.
1751         * predict.c (combine_predictions_for_insn): Change best_predictor
1752         and predictor to enum br_predictor.
1753         (combine_predictions_for_bb): Likewise.
1754         (build_predict_expr): Change assignment to PREDICT_EXPR_OUTCOME to
1755         use SET_PREDICT_EXPR_OUTCOME.
1756         * real.c (real_arithmetic): Change icode to code in function call.
1757         * reginfo.c (init_move_cost): Add casts to enum type.
1758         (init_reg_sets_1, init_fake_stack_mems): Likewise.
1759         * regmove.c (regclass_compatible_p): Change class0 and class1 to
1760         enum reg_class.
1761         * reload.c (find_valid_class): Add casts to enum type.
1762         (push_reload): Change 0 to NO_REGS in function call.
1763         (find_reloads): Change this_alternative to array of enum
1764         reg_class.  Remove some now-unnecessary casts.
1765         (make_memloc): Change 0 to VOIDmode in function call.
1766         * reload1.c (reload): Change 0 to VOIDmode in function call.
1767         (eliminate_regs_1, elimination_effects): Likewise.
1768         (eliminate_regs_in_insn): Likewise.
1769         (emit_input_reload_insns): Add cast to enum type.
1770         (delete_output_reload): Change 0 to VOIDmode in function call.
1771         * reorg.c (insn_sets_resource_p): Convert include_delayed_effects
1772         to enum type in function call.
1773         * tree.h (PREDICT_EXPR_OUTCOME): Add cast to enum type.
1774         (SET_PREDICT_EXPR_OUTCOME): Define.
1775         * tree-dump.c (get_dump_file_info): Change phase parameter to int.
1776         (get_dump_file_name, dump_begin, dump_enabled_p): Likewise.
1777         (dump_initialized_p, dump_flag_name, dump_end): Likewise.
1778         (dump_function): Likewise.
1779         * tree-dump.h: Update declarations.
1780         * tree-pass.h: Update declarations.
1781         * varasm.c (assemble_integer): Change mclass to enum mode_class.
1782         * config/arm/arm.c (thumb_legitimize_reload_address): Add cast to
1783         enum type.
1784         (arm_rtx_costs_1): Correct parenthesization.
1785         (arm_rtx_costs): Add casts to enum type.
1786         (adjacent_mem_locations): Reverse arguments to const_ok_for_op.
1787         (vfp_emit_fstmd): Use add_rg_note.
1788         (emit_multi_reg_push, emit_sfm): Likewise.
1789         (thumb_set_frame_pointer): Likewise.
1790         (arm_expand_prologue): Likewise.
1791         (arm_regno_class): Change return type to enum reg_class.
1792         (thumb1_expand_prologue): Use add_reg_note.
1793         * config/arm/arm-protos.h (arm_regno_class): Update declaration.
1794         * config/arm/arm.h (INITIALIZE_TRAMPOLINE): Change 0 to LCT_NORMAL
1795         in function call.
1796         * config/arm/gentune.sh: Add cast to enum type.
1797         * config/arm/arm-tune.md: Rebuild.
1798         * config/i386/i386.c (ix86_expand_prologue): Use add_reg_note.
1799         (ix86_split_fp_branch, predict_jump): Likewise.
1800         (ix86_expand_multi_arg_builtin): Change sub_code from enum
1801         insn_code to enum rtx_code.
1802         (ix86_builtin_vectorized_function): Add cast to enum type.
1803         * config/i386/i386.md (truncdfsf2): Change slot to enum
1804         ix86_stack_slot.
1805         (truncxf<mode>2, isinf<mode>2): Likewise.
1806         * config/i386/i386-c.c (ix86_pragma_target_parse): Add cast to
1807         enum type.
1808         * config/ia64/ia64.c (ia64_split_tmode_move): Use add_reg_note.
1809         (spill_restore_mem, do_spill, ia64_expand_prologue): Likewise.
1810         (insert_bundle_state): Change 1 to INSERT in function call.
1811         (ia64_add_bundle_selector_before): Likewise.
1812         * config/ia64/ia64.md (cpu attr): Add cast to enum type.
1813         (save_stack_nonlocal): Change 0 to LCT_NORMAL in function call.
1814         (restore_stack_nonlocal): Likewise.
1815         * config/mips/mips.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in
1816         function call.
1817         * config/mips/mips.c (mips_binary_cost): Change 0 to SET in
1818         function call.
1819         (mips_rtx_costs): Likewise.
1820         (mips_override_options): Add casts to enum type.
1821         * config/mips/sdemtk.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL
1822         in function call.
1823         * config/pa/pa.c (legitimize_pic_address): Use add_reg_note.
1824         (store_reg, set_reg_plus_d): Likewise.
1825         (hppa_expand_prologue, hppa_profile_hook): Likewise.
1826         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
1827         cast to enum type.
1828         (altivec_expand_vec_set_builtin): Change 0 to EXPAND_NORMAL in
1829         function call.
1830         (emit_unlikely_jump): Use add_reg_note.
1831         (rs6000_emit_allocate_stack): Likewise.
1832         (rs6000_frame_related, rs6000_emit_prologue): Likewise.
1833         (output_toc): Change 1 to INSERT in function call.
1834         (output_profile_hook): Change 0 to LCT_NORMAL in function call.
1835         (rs6000_initialize_trampoline): Likewise.
1836         (rs6000_init_dwarf_reg_sizes_extra): Change 0 to EXPAND_NORMAL in
1837         function call.
1838         * config/s390/s390.c (s390_rtx_costs): Add cast to enum type.
1839         (s390_expand_movmem): Change 0 to OPTAB_DIRECT in function call.
1840         (s390_expand_setmem, s390_expand_cmpmem): Likewise.
1841         (save_gprs): Use add_reg_note.
1842         (s390_emit_prologue): Likewise.
1843         (s390_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1844         * config/sparc/sparc.c (sparc_expand_prologue): Use add_reg_note.
1845         (sparc_fold_builtin): Add cast to enum type.
1846         * config/spu/spu.c (spu_emit_branch_or_set): Change ior_code to
1847         enum insn_code.
1848         (spu_expand_prologue): Use add_reg_note.
1849         (expand_builtin_args): Change 0 to EXPAND_NORMAL in function call.
1850
1851 2009-04-20  Ian Lance Taylor  <iant@google.com>
1852
1853         * c-parser.c (c_parser_attributes): Change VEC back to tree list.
1854         (c_parser_postfix_expression_after_primary): Get VEC for list of
1855         arguments.  Get original types of arguments.  Call
1856         build_function_call_vec.
1857         (cached_expr_list_1, cached_expr_list_2): New static variables.
1858         (c_parser_expr_list): Change return type to VEC *.  Add
1859         p_orig_types parameter.  Change all callers.
1860         (c_parser_release_expr): New static function.
1861         (c_parser_vec_to_tree_list): New static function.
1862         * c-typeck.c (build_function_call): Rewrite to build a VEC and
1863         call build_function_call_vec.
1864         (build_function_call_vec): New function, based on old
1865         build_function_call.
1866         (convert_arguments): Remove nargs and argarray parameters.  Change
1867         values to a VEC.  Add origtypes parameter.
1868         (build_modify_expr): Add rhs_origtype parameter.  Change all callers.
1869         (convert_for_assignment): Add origtype parameter.  Change all
1870         callers.  If warn_cxx_compat, check for conversion to an enum
1871         type when calling a function.
1872         (store_init_value): Add origtype parameter.  Change all callers.
1873         (digest_init): Likewise.
1874         (struct init_node): Add origtype field.
1875         (add_pending_init): Add origtype parameter.  Change all callers.
1876         (output_init_element): Likewise.
1877         (output_pending_init_elements): Pass origtype from init_node to
1878         output_init_element.
1879         (process_init_element): Pass origtype from c_expr to
1880         output_init_element.
1881         (c_finish_return): Add origtype parameter.  Change all callers.
1882         * c-common.c (sync_resolve_size): Change params to VEC *.  Change
1883         caller.
1884         (sync_resolve_params): Likewise.
1885         (sync_resolve_return): Change params to first_param.  Change caller.
1886         (resolve_overloaded_builtins): Change params to VEC *.  Change
1887         callers.  Save first parameter around call to build_function_call_vec.
1888         * c-decl.c (finish_decl): Add origtype parameter.  Change all
1889         callers.  Call build_function_call_vec rather than
1890         build_function_call for cleanup.
1891         * c-tree.h: Update declarations.
1892         * c-common.h: Update declarations.
1893         * stub-objc.c (objc_rewrite_function_call): Change parameter from
1894         params to first_param.
1895         * target.h (struct gcc_target): Change resolve_overloaded_builtin
1896         params parameter from tree to void *.
1897         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1898         Change arglist parameter to have type void *, and to be a pointer
1899         to a VEC.
1900         * config/rs6000/rs6000-protos.h
1901         (altivec_resolve_overloaded_builtin): Update declaration.
1902         * config/spu/spu-c.c (spu_resolved_overloaded_builtin): Change
1903         fnargs parameter to have type void *, and to be a pointer to a
1904         VEC.  Call build_function_call_vec instead of
1905         build_function_call.
1906         * config/spu/spu-protos.h (spu_expand_builtin): Update declaration.
1907
1908 2009-04-20  Joey Ye  <joey.ye@intel.com>
1909             Xuepeng Guo  <xuepeng.guo@intel.com>
1910             H.J. Lu  <hongjiu.lu@intel.com>
1911
1912         * config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.
1913
1914         * config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
1915         (IX86_LEA_PRIORITY): Likewise.
1916         (distance_non_agu_define): New function.
1917         (distance_agu_use): Likewise.
1918         (ix86_lea_for_add_ok): Likewise.
1919         (ix86_dep_by_shift_count): Likewise.
1920
1921         * config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
1922         should split for LEA.
1923
1924         * config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
1925         function.
1926         (ix86_dep_by_shift_count): Likewise.
1927
1928 2009-04-20  Richard Guenther  <rguenther@suse.de>
1929
1930         * expr.c (handled_component_p): Move ...
1931         * tree.h (handled_component_p): ... here.
1932         * tree.def: Re-order BIT_FIELD_REF, COMPONENT_REF,
1933         ARRAY_REF, ARRAY_RANGE_REF, VIEW_CONVERT_EXPR, IMAGPART_EXPR
1934         and REALPART_EXPR to be in one group.
1935
1936 2009-04-20  Richard Guenther  <rguenther@suse.de>
1937
1938         * basic-block.h (get_all_dominated_blocks): Declare.
1939         * dominance.c (get_all_dominated_blocks): New function.
1940         * tree-cfg.c (get_all_dominated_blocks): Remove.
1941         (remove_edge_and_dominated_blocks): Adjust.
1942         * tree-ssa-phiprop.c (tree_ssa_phiprop_1): Fold in ...
1943         (tree_ssa_phiprop): ... here.  Use get_all_dominated_blocks
1944         instead of recursing.
1945
1946 2009-04-20  Doug Kwan  <dougkwan@google.com>
1947
1948         * cgraph.h (cgraph_node_ptr): New type for vector functions.
1949         (struct cgraph_node_set_def): New type.
1950         (cgraph_node_set) New type. Also declare vector functions.
1951         (struct cgraph_node_set_element_def): New type.
1952         (cgraph_node_set_element): Ditto.
1953         (cgraph_node_set_iterator): New iterator type.
1954         (cgraph_node_set_new, cgraph_node_set_find, cgraph_node_set_add,
1955         cgraph_node_set_remove, dump_cgraph_node_set,
1956         debug_cgraph_node_set): New prototypes.
1957         (csi_end_p, csi_next, csi_node, csi_start, cgraph_node_in_set_p,
1958         cgraph_node_set_size): New inlines.
1959         * tree-pass.h (struct cgraph_node_set_def): New decl to avoid
1960         including cgraph.h.
1961         (struct ipa_opt_pass): Add struct cgraph_node_set_def
1962         argument to function 'write_summary'.
1963         * ipa.c: Include ggc.h.
1964         (hash_cgraph_node_set_element,
1965         eq_cgraph_node_set_element, cgraph_node_set_new,
1966         cgraph_node_set_add, cgraph_node_set_remove,
1967         cgraph_node_set_find, dump_cgraph_node_set,
1968         debug_cgraph_node_set): New functions.
1969         * Makefile.in (ipa.o): Add dependency on GGC_H.
1970
1971 2009-04-20  Ira Rosen  <irar@il.ibm.com>
1972
1973         PR tree-optimization/39675
1974         * tree-vect-loop.c (vect_transform_loop): Remove currently redundant
1975         check of the return code of vect_schedule_slp. Check that
1976         stmt_vec_info still exists for the statement, before checking its
1977         vectorization type.
1978
1979 2009-04-20  Michael Matz  <matz@suse.de>
1980
1981         * Makefile.in (generated_files): Take out $(simple_generated_c).
1982
1983 2009-04-19  Dave Korn  <dave.korn.cygwin@gmail.com>
1984
1985         * config/i386/cygwin-stdint.h (INTPTR_TYPE):  Remove "long".
1986         (UINTPTR_TYPE):  Likewise.
1987
1988 2009-04-19  Joseph Myers  <joseph@codesourcery.com>
1989
1990         PR c/37481
1991         * c-typeck.c (digest_init): Check for initializing an array with a
1992         string literal.
1993
1994 2009-04-19  Joseph Myers  <joseph@codesourcery.com>
1995
1996         PR c/19771
1997         * c-semantics.c (pop_stmt_list): Propagate
1998         STATEMENT_LIST_HAS_LABEL to parent statement list.
1999
2000 2009-04-19  Adam Nemet  <anemet@caviumnetworks.com>
2001
2002         * config/mips/mips.h (mips_tune_attr): New macro.
2003         * config/mips/mips.md (cpu): Use it.
2004
2005 2009-04-19  Joseph Myers  <joseph@codesourcery.com>
2006
2007         PR c/38243
2008         * c-decl.c (shadow_tag_warned): Diagnose use of restrict when
2009         declaring a tag.
2010
2011 2009-04-19  Diego Novillo  <dnovillo@google.com>
2012
2013         * toplev.c (compile_file): Move call to coverage_finish ...
2014         * cgraphunit.c (ipa_passes): ... here.
2015         Call cgraph_process_new_functions.
2016         * ipa-utils.c (get_base_var): Handle CONSTRUCTOR.
2017         * Makefile.in (cgraphunit.o): Add dependency on COVERAGE_H.
2018
2019 2009-04-19  Jan Hubicka  <jh@suse.cz>
2020
2021         * cgraph.c (cgraph_create_edge, cgraph_set_call_stmt): Set proper
2022         cfun.
2023         (dump_cgraph_node): Dump can throw external flag.
2024         * ipa-pure-const.c (propagate): Fix propagation of nothrow flags.
2025
2026 2009-04-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2027
2028         PR c/32061
2029         PR c++/36954
2030         * doc/invoke.texi: Add -Wlogical-op to -Wextra.
2031         * common.opt (Wlogical-op): Move from here...
2032         * c.opt (Wlogical-op): ... to here.
2033         * c-typeck.c (parser_build_binary_op): Update call to
2034         warn_logical_operator.
2035         * c-opts.c (c_common_post_options): Enable warn_logical_op with
2036         extra_warnings.
2037         * c-common.c (warn_logical_op): Update.
2038         * c-common.h (warn_logical_op): Update declaration.
2039
2040 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2041
2042         * tree.c (protected_set_expr_location): Fix formatting.
2043
2044 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
2045
2046         PR c/27676
2047         * c-typeck.c (readonly_warning): new.
2048         (build_unary_op, build_modify_expr): Use readonly_warning for
2049         storing into something readonly but not const-qualified.
2050
2051 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
2052
2053         PR c/22367
2054         * c-typeck.c (build_unary_op): Check for taking address of
2055         expression of type void.
2056
2057 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
2058
2059         PR c/35210
2060         * c-typeck.c (build_function_call): Check for calling a function
2061         with qualified void return types.  Call require_complete_type when
2062         generating a trap.
2063
2064 2009-04-18  Jan Hubicka  <jh@suse.cz>
2065
2066         * cgraph.c (cgraph_make_edge, dump_cgraph_node, cgraph_set_call_stmt):
2067         Set nothrow flag.
2068         * cgraph.h (struct function): Reduce loop_nest to 30 bits; add
2069         can_throw_external flag.
2070         * ipa-reference.c (ipa_utils_reduced_inorder): Update call.
2071         * ipa-pure-const.c (ignore_edge): New function.
2072         (propagate): Compute order for NOTHROW computation; set NOTHROWs
2073         only over can_throw_external edges.
2074         (local_pure_const): Add nothrow flag.
2075         * ipa-utils.c (searchc): Add ignore_edge callback.
2076         (ipa_utils_reduced_inorder): Add ignore_edge callback.
2077         * ipa-utils.h (ipa_utils_reduced_inorder): Update prototype.
2078         (set_nothrow_function_flags): Update cgraph.
2079         * tree-cfg.c (verify_stmt): Relax nothrow checking when in IPA mode.
2080
2081 2009-04-18  Richard Guenther  <rguenther@suse.de>
2082
2083         PR middle-end/39804
2084         * tree-ssa-ccp.c (fold_stmt_1): New function factored from ...
2085         (fold_stmt): ... this and ...
2086         (fold_stmt_inplace): ... this.
2087         (fold_stmt_1): Fold references in calls and asms.
2088         * tree-cfg.c (remove_useless_stmts_cond): Use fold_stmt.
2089
2090 2009-04-18  Kazu Hirata  <kazu@codesourcery.com>
2091
2092         * tree-vrp.c (ssa_name_nonzero_p): Remove.
2093         * tree.h: Remove the prototype for ssa_name_nonzero_p.
2094
2095 2009-04-18  Kazu Hirata  <kazu@codesourcery.com>
2096
2097         * tree.c (function_args_count): Remove.
2098         * tree.h: Remove the prototype for function_args_count.
2099
2100 2009-04-18  Kazu Hirata  <kazu@codesourcery.com>
2101
2102         * tree-iterator.c (expr_only): Remove.
2103         * tree.h: Remove the prototype for expr_only.
2104
2105 2009-04-18  Kazu Hirata  <kazu@codesourcery.com>
2106
2107         * reginfo.c (cannot_change_mode_set_regs): Remove.
2108         * rtl.h: Remove the prototype for cannot_change_mode_set_regs.
2109
2110 2009-04-08  Anatoly Sokolov  <aesok@post.ru>
2111
2112         * config/avr/avr.md (*rotlsi3_8, *rotlsi3_16, *rotlsi3_24 ): Check
2113         whether operands 0 and 1 overlaps.
2114
2115 2009-04-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2116
2117         PR middle-end/36902
2118         * tree-vrp.c (check_array_ref): Pass a location_t instead of a
2119         pointer. Use warning_at instead of warning.
2120         (search_for_addr_array): Likewise.
2121         (check_array_bounds): Likewise.
2122         (check_all_array_refs): Check that the incoming edge is not in the
2123         list of edges to be removed.
2124         (check_all_array_refs): Avoid the temporal pointer.
2125         (vrp_visit_cond_stmt): Fix typo.
2126         (simplify_switch_using_ranges): Handle the case where the switch
2127         index is an integer constant.
2128
2129 2009-04-18  Adam Nemet  <anemet@caviumnetworks.com>
2130
2131         * config/mips/mips.c (mips_final_postscan_insn): Make it static.
2132
2133 2009-04-18  Kazu Hirata  <kazu@codesourcery.com>
2134
2135         * doc/extend.texi, doc/invoke.texi: Fix typos.
2136
2137 2009-04-17  Cary Coutant  <ccoutant@google.com>
2138
2139         * tree-flow-inline.h (get_lineno): Fix inverted test.
2140
2141 2009-04-17  Diego Novillo  <dnovillo@google.com>
2142
2143         * tree-ssa-pre.c (create_expression_by_pieces): Remove
2144         assertion for AVAIL_OUT.
2145
2146 2009-04-17  Mike Frysinger  <vapier@gentoo.org>
2147
2148         PR target/38627
2149         * config/sh/lib1funcs.asm [__ELF__ && __linux__]: Add .note.GNU-stack.
2150         * config/sh/linux-atomic.asm: Likewise.
2151
2152 2009-04-17  Diego Novillo  <dnovillo@google.com>
2153
2154         * except.c (debug_eh_tree): New.
2155         (struct eh_region, struct eh_status): Move ...
2156         * except.h: ... here.
2157         (add_type_for_runtime): Declare extern.
2158         (lookup_type_for_runtime): Likewise.
2159         (debug_eh_tree): Declare.
2160         * Makefile.in (GTFILES): List except.h before except.c
2161
2162 2009-04-17  Diego Novillo  <dnovillo@google.com>
2163
2164         * omp-low.c (create_omp_child_function): Set DECL_CONTEXT for DECL.
2165         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2166         * tree-dfa.c (find_referenced_vars_in): Factor out of ...
2167         (find_vars_r): ... here.
2168         * tree-flow.h (find_referenced_vars_in): Declare.
2169         * tree-ssa-pre.c (create_expression_by_pieces): Assert
2170         that AVAIL_OUT exists for BLOCK.
2171         * Makefile.in (CGRAPH_H): Add dependency on cif-code.def
2172         (tree-loop-distribution.o): Fix dependency on TREE_VECTORIZER_H.
2173         (tree-parloops.o): Likewise.
2174
2175 2009-04-17  Simon Baldwin  <simonb@google.com>
2176
2177         * toplev.c (default_tree_printer): Add handling for %E format.
2178
2179 2009-04-17  Diego Novillo  <dnovillo@google.com>
2180
2181         * tree-pretty-print.c (dump_generic_node): Add break after
2182         TREE_BINFO handler.  Handle COMPLEX_TYPE, REAL_TYPE and
2183         FIXED_POINT_TYPE.  Handle NULL TREE_TYPEs.  Handle METHOD_TYPE and
2184         FUNCTION_TYPE together.  Call print_struct_decl when printing
2185         structures and TDF_SLIM is not given.
2186         (print_struct_decl): Fix logic for detecting recursion.
2187
2188 2009-04-17  Rafael Avila de Espindola  <espindola@google.com>
2189
2190         PR 31567
2191         * gcc.c (create_at_file): New.
2192         (compile_input_file_p): New.
2193         (do_spec_1): Use @args files for %i. Use create_at_file for %o.
2194         * main.c (main): Update call to toplev_main.
2195         * toplev.c (toplev_main): Change signature. Call expandargv.
2196         * toplev.h (toplev_main): Change signature.
2197
2198 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2199
2200         * dwarf2out.c (field_byte_offset): Use the type size as the field size
2201         if the latter is not constant.
2202
2203 2009-04-17  David Edelsohn  <edelsohn@gnu.org>
2204
2205         * dbxout.c (xcoff_debug_hooks): Add set_name_debug_nothing.
2206
2207 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2208
2209         * dbxout.c (dbxout_block): Reinstate test on TREE_USED.
2210         * tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
2211
2212 2009-04-17  Richard Guenther  <rguenther@suse.de>
2213
2214         * tree-ssa-structalias.c (get_constraint_for_component_ref):
2215         Handle component references view-converting an invariant address.
2216
2217 2009-04-17  Adam Nemet  <anemet@caviumnetworks.com>
2218
2219         * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS,
2220         TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET,
2221         TARGET_HAVE_SRODATA_SECTION, TARGET_HAVE_TLS,
2222         TARGET_UNWIND_TABLES_DEFAULT, TARGET_TERMINATE_DW2_EH_FRAME_INFO):
2223         Use @deftypevr rather than @deftypevar.
2224
2225 2009-04-17  Richard Guenther  <rguenther@suse.de>
2226
2227         * tree-ssa-forwprop.c (get_prop_dest_stmt): Clean up tuplification.
2228         (get_prop_source_stmt): Likewise.
2229         (can_propagate_from): Likewise.
2230
2231 2009-04-17  Andrew Stubbs  <ams@codesourcery.com>
2232
2233         * configure.ac: Add new AC_SUBST for TM_ENDIAN_CONFIG,
2234         TM_MULTILIB_CONFIG and TM_MULTILIB_EXCEPTIONS_CONFIG.
2235         (--with-multilib-list): Add default value.
2236         * configure: Regenerate.
2237         * Makefile.in (TM_ENDIAN_CONFIG): Define.
2238         (TM_MULTILIB_CONFIG, TM_MULTILIB_EXCEPTIONS_CONFIG): Define.
2239         * config.gcc (sh-*-*): Switch to using TM_ENDIAN_CONFIG,
2240         TM_MULTILIB_CONFIG, and TM_MULTILIB_EXCEPTIONS_CONFIG.
2241         Don't add default cpu to multilib list unnecessarily, but do enable
2242         the relevant compiler option..
2243         Add support for --with-multilib-list=<blank> and
2244         --with-multilib-list=!<somelib> to supress unwanted multilibs.
2245         * config/sh/t-sh (DEFAULT_ENDIAN, OTHER_ENDIAN): New variables.
2246         (MULTILIB_ENDIAN, MULTILIB_CPUS): Delete variables.
2247         (MULTILIB_OPTIONS): Redefine using OTHER_ENDIAN and
2248         TM_MULTILIB_CONFIG.
2249         (MULTILIB_EXCEPTIONS): Add TM_MULTILIB_EXCEPTIONS_CONFIG.
2250         (MULTILIB_OSDIRNAMES): New variable.
2251         * config/sh/t-1e: Delete file.
2252         * config/sh/t-mlib-sh1: Delete file.
2253         * config/sh/t-mlib-sh2: Delete file.
2254         * config/sh/t-mlib-sh2a: Delete file.
2255         * config/sh/t-mlib-sh2a-nofpu: Delete file.
2256         * config/sh/t-mlib-sh2a-single: Delete file.
2257         * config/sh/t-mlib-sh2a-single-only: Delete file.
2258         * config/sh/t-mlib-sh2e: Delete file.
2259         * config/sh/t-mlib-sh3e: Delete file.
2260         * config/sh/t-mlib-sh4: Delete file.
2261         * config/sh/t-mlib-sh4-nofpu: Delete file.
2262         * config/sh/t-mlib-sh4-single: Delete file.
2263         * config/sh/t-mlib-sh4-single-only: Delete file.
2264         * config/sh/t-mlib-sh4a: Delete file.
2265         * config/sh/t-mlib-sh4a-nofpu: Delete file.
2266         * config/sh/t-mlib-sh4a-single: Delete file.
2267         * config/sh/t-mlib-sh4a-single-only: Delete file.
2268         * config/sh/t-mlib-sh4al: Delete file.
2269         * config/sh/t-mlib-sh5-32media: Delete file.
2270         * config/sh/t-mlib-sh5-32media-nofpu: Delete file.
2271         * config/sh/t-mlib-sh5-64media: Delete file.
2272         * config/sh/t-mlib-sh5-64media-nofpu: Delete file.
2273         * config/sh/t-mlib-sh5-compact: Delete file.
2274         * config/sh/t-mlib-sh5-compact-nofpu: Delete file.
2275         * config/sh/t-linux: Don't override MULTILIB_EXCEPTIONS.
2276         * doc/install.texi (Options specification): Add
2277         --with-multilib-list and --with-endian.
2278
2279 2009-04-17  Rafael Avila de Espindola  <espindola@google.com>
2280
2281         * Makefile.in (REVISION_s): Always include quotes. Change ifdef to use
2282         REVISION_c.
2283         (OBJS-common): Add plugin-version.o.
2284         (plugin-version.o): New.
2285         * gcc-plugin.h (plugin_gcc_version): New.
2286         (plugin_default_version_check): New.
2287         (plugin_init_func, plugin_init): Add version argument.
2288         * plugin-version.c: New.
2289         * plugin.c (str_plugin_gcc_version_name): New.
2290         (try_init_one_plugin): Read plugin_gcc_version from the plugin and
2291         pass it to the init function.
2292         (plugin_default_version_check): New.
2293
2294 2009-04-17  Richard Guenther  <rguenther@suse.de>
2295
2296         * tree-ssa-alias.c (refs_may_alias_p_1): Do not use TBAA
2297         for decl-vs-decl disambiguation.
2298
2299 2009-04-17  Andreas Krebbel  <krebbel1@de.ibm.com>
2300
2301         * config/s390/s390.h (s390_tune_attr): New macro definition.
2302         * config/s390/s390.md (cpu attribute): Map to s390_tune_attr.
2303
2304 2009-04-17  Richard Guenther  <rguenther@suse.de>
2305
2306         * tree-ssa-ccp.c (struct fold_stmt_r_data): Remove.
2307         (fold_stmt_r): Likewise.
2308         (maybe_fold_reference): New function.
2309         (fold_gimple_assign): Handle cases fold_stmt_r did.
2310         (fold_stmt): Do not use fold_stmt_r.
2311         (fold_stmt_inplace): Likewise.
2312
2313 2009-04-17  Richard Guenther  <rguenther@suse.de>
2314
2315         * tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p): Remove.
2316         (record_equivalences_from_stmt): Remove useless checks and
2317         simplifications.
2318         * tree-ssa-pre.c (eliminate): Avoid converting a constant if
2319         the type is already suitable.
2320
2321 2009-04-17  Paolo Bonzini  <bonzini@gnu.org>
2322
2323         * config/sh/sh.h (FUNCTION_VALUE): Fix call to sh_promote_prototypes.
2324
2325 2009-04-17  Uros Bizjak  <ubizjak@gmail.com>
2326
2327         * config/arm/sfp-machine.h (__gcc_CMPtype): New typedef.
2328         (CMPtype): Define as __gcc_CMPtype.
2329
2330 2009-04-17  Aurelien Jarno  <aurelien@aurel32.net>
2331
2332         * config.gcc: Add soft-fp/t-softfp and i386/t-linux to tmake_file
2333         for i[34567]86-*-kfreebsd*-gnu*, x86_64-*-kfreebsd*-gnu*.
2334
2335 2009-04-17  Richard Guenther  <rguenther@suse.de>
2336
2337         PR tree-optimization/39746
2338         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Remove
2339         special-casing for builtins and static variable use/def.
2340         (call_may_clobber_ref_p_1): Likewise.
2341
2342 2009-04-16  Ian Lance Taylor  <iant@google.com>
2343
2344         * df.h: Include "timevar.h".
2345         (struct df_problem): Change tv_id field to timevar_id_t.
2346         * tree-pass.h: Include "timevar.h".
2347         (struct opt_pass): Change tv_id field to timevar_id_t.
2348         * timevar.h (timevar_id_t): Define TV_NONE.
2349         * passes.c (execute_one_ipa_transform_pass): Check for tv_id !=
2350         TV_NONE rather than tv_id != 0.
2351         (execute_one_pass): Likewise.
2352         * Makefile.in (DF_H): Add $(TIMEVAR_H).
2353         (TREE_PASS_H): Define.  Change all instances of tree-pass.h in
2354         dependencies to $(TREE_PASS_H).
2355         * bt-load.c (pass_branch_target_load_optimize1): Set tv_id field
2356         to TV_NONE.
2357         (pass_branch_target_load_optimize2): Likewise.
2358         * cfglayout.c (pass_into_cfg_layout_mode): Likewise.
2359         (pass_outof_cfg_layout_mode): Likewise.
2360         * cgraphbuild.c (pass_remove_cgraph_callee_edges): Likewise.
2361         (pass_rebuild_cgraph_edges): Likewise.
2362         (pass_remove_cgraph_callee_edges): Likewise.
2363         * df-core.c (pass_df_initialize_opt): Likewise.
2364         (pass_df_initialize_no_opt): Likewise.
2365         (pass_df_finish): Likewise.
2366         * emit-rtl.c (pass_unshare_all_rtl): Likewise.
2367         * except.c (pass_set_nothrow_function_flags): Likewise.
2368         (pass_convert_to_eh_region_ranges): Likewise.
2369         * final.c (pass_compute_alignments): Likewise.
2370         * function.c (pass_instantiate_virtual_regs): Likewise.
2371         (pass_init_function): Likewise.
2372         (pass_leaf_regs): Likewise.
2373         (pass_match_asm_constraints): Likewise.
2374         * gimple-low.c (pass_lower_cf): Likewise.
2375         (pass_mark_used_blocks): Likewise.
2376         * init-regs.c (pass_initialize_regs): Likewise.
2377         * integrate.c (pass_initial_value_sets): Likewise.
2378         * ira.c (pass_ira): Likewise.
2379         * jump.c (pass_cleanup_barriers): Likewise.
2380         * omp-low.c (pass_expand_omp): Likewise.
2381         (pass_lower_omp): Likewise.
2382         * matrix-reorg.c (pass_ipa_matrix_reorg): Likewise.
2383         * recog.c (pass_split_all_insns): Likewise.
2384         (pass_split_after_reload): Likewise.
2385         (pass_split_before_regstack): Likewise.
2386         (pass_split_before_sched2): Likewise.
2387         (pass_split_for_shorten_branches): Likewise.
2388         * reginfo.c (pass_reginfo_init): Likewise.
2389         (pass_subregs_of_mode_init): Likewise.
2390         (pass_subregs_of_mode_finish): Likewise.
2391         * passes.c (pass_postreload): Likewise.
2392         * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
2393         * tree-cfg.c (pass_remove_useless_stmts): Likewise.
2394         (pass_warn_function_return): Likewise.
2395         (pass_warn_function_noreturn): Likewise.
2396         * tree-complex.c (pass_lower_complex): Likewise.
2397         (pass_lower_complex_O0): Likewise.
2398         * tree-if-conv.c (pass_if_conversion): Likewise.
2399         * tree-into-ssa.c (pass_build_ssa): Likewise.
2400         * tree-mudflap.c (pass_mudflap_1): Likewise.
2401         (pass_mudflap_2): Likewise.
2402         * tree-nomudflap.c (pass_mudflap_1): Likewise.
2403         (pass_mudflap_2): Likewise.
2404         * tree-nrv.c (pass_return_slot): Likewise.
2405         * tree-object-size.c (pass_object_sizes): Likewise.
2406         * tree-optimize.c (pass_all_optimizations): Likewise.
2407         (pass_early_local_passes): Likewise.
2408         (pass_all_early_optimizations): Likewise.
2409         (pass_cleanup_cfg): Likewise.
2410         (pass_cleanup_cfg_post_optimizing): Likewise.
2411         (pass_free_datastructures): Likewise.
2412         (pass_free_cfg_annotations): Likewise.
2413         (pass_fixup_cfg): Likewise.
2414         (pass_init_datastructures): Likewise.
2415         * tree-ssa.c (pass_early_warn_uninitialized): Likewise.
2416         (pass_late_warn_uninitialized): Likewise.
2417         (pass_update_address_taken): Likewise.
2418         * tree-ssa-ccp.c (pass_fold_builtins): Likewise.
2419         * tree-ssa-math-opts.c (pass_cse_reciprocals): Likewise.
2420         (pass_cse_sincos): Likewise.
2421         (pass_convert_to_rsqrt): Likewise.
2422         * tree-ssa-structalias.c (pass_build_alias): Likewise.
2423         * tree-stdarg.c (pass_stdarg): Likewise.
2424         * tree-tailcall.c (pass_tail_recursion): Likewise.
2425         (pass_tail_calls): Likewise.
2426         * tree-vect-generic.c (pass_lower_vector): Likewise.
2427         (pass_lower_vector_ssa): Likewise.
2428         * tree-vectorizer.c (pass_ipa_increase_alignment): Likewise.
2429
2430 2009-04-16  Joseph Myers  <joseph@codesourcery.com>
2431
2432         * config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
2433         XLR entry.
2434         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
2435         Handle -march=xlr.
2436         * config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
2437         logical and signext.
2438
2439 2009-04-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2440
2441         PR target/39767
2442         * config/sh/predicates.md (arith_operand): Check if the operand
2443         of TRUNCATE is a REG.
2444
2445 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2446
2447         * cfgrtl.c (delete_insn_chain_and_edges): Remove.
2448         * rtl.h: Remove the prototype for delete_insn_chain_and_edges.
2449
2450 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2451
2452         * tree-iterator.c (tsi_split_statement_list_after,
2453         tsi_split_statement_list_before): Remove.
2454         * tree-iterator.h: Remove the prototypes for
2455         tsi_split_statement_list_after and tsi_split_statement_list_before.
2456
2457 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2458
2459         * tree-ssa-propagate.c (stmt_makes_single_load): Remove.
2460         * tree-ssa-propagate.h: Remove the prototype for
2461         stmt_makes_single_load.
2462
2463 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2464
2465         * emit-rtl.c (set_mem_attrs_from_reg): Remove.
2466         * rtl.h: Remove the prototype for set_mem_attrs_from_reg.
2467
2468 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2469
2470         * tree-iterator.c (EXPR_LAST_BODY): Remove.
2471
2472 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2473
2474         * except.c (eh_region_outer_p): Remove.
2475         * except.h: Remove the prototype for eh_region_outer_p.
2476
2477 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
2478
2479         * function.c (current_function_assembler_name): Remove.
2480         * function.h: Remove the prototype for
2481         current_function_assembler_name.
2482
2483 2009-04-16  Ian Lance Taylor  <iant@google.com>
2484
2485         * rtlanal.c (alloc_reg_note): New function, broken out of add_reg_note.
2486         (add_reg_note): Call alloc_reg_note.
2487         * rtl.h (alloc_reg_note): Declare.
2488         * combine.c (try_combine): Use alloc_reg_note.
2489         (recog_for_combine, move_deaths): Likewise.
2490         (distribute_notes): Use alloc_reg_note and add_reg_note.
2491         * haifa-sched.c (sched_create_recovery_edges): Use add_reg_note.
2492         * combine-stack-adj.c (adjust_frame_related_expr): Likewise.
2493         * reload1.c (eliminate_regs_1): Use alloc_reg_note.
2494
2495 2009-04-16  Vladimir Makarov  <vmakarov@redhat.com>
2496
2497         PR rtl-optimization/39762
2498         * ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
2499         ira_may_move_out_cost): Add comments about way of their usage.
2500         (ira_get_register_move_cost, ira_get_may_move_cost): New functions.
2501
2502         * ira-conflicts.c (process_regs_for_copy): Use function
2503         ira_get_register_move_cost instead of global
2504         ira_register_move_cost.
2505
2506         * ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
2507         color_pass, move_spill_restore, update_curr_costs): Ditto.
2508
2509         * ira-lives.c (process_single_reg_class_operands): Ditto.
2510
2511         * ira-emit.c (emit_move_list): Ditto.
2512
2513         * ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
2514         (record_reg_classes): Ditto.  Use functions
2515         ira_get_register_move_cost and ira_get_may_move_cost instead of
2516         global vars ira_register_move_cost, ira_may_move_out_cost and
2517         ira_may_move_in_cost.
2518         (record_address_regs): Don't call ira_init_register_move_cost.
2519         Use function ira_get_may_move_cost instead of global
2520         ira_may_move_in_cost.
2521         (process_bb_node_for_hard_reg_moves): Use function
2522         ira_get_register_move_cost instead of global ira_register_move_cost.
2523         (ira_costs): Don't call ira_init_register_move_cost.
2524
2525 2009-04-16  Richard Guenther  <rguenther@suse.de>
2526
2527         * tree-cfg.c (verify_gimple_assign_binary):
2528         Allow POINTER_PLUS_EXPR-like PLUS_EXPR for vectors.
2529         * ipa-struct-reorg.c (gen_size): Fold the built expressions.
2530         (create_general_new_stmt): Note that this function is broken.
2531
2532 2009-04-16  Rafael Avila de Espindola  <espindola@google.com>
2533
2534         * common.opt (fhelp): Add Var(help_flag).
2535         * gcc-plugin.h (plugin_info): Add help.
2536         * plugin.c (plugin_name_args): Add help.
2537         (register_plugin_info): Set plugin->help.
2538         (print_help_one_plugin): New.
2539         (print_plugins_help): New.
2540         * plugin.h (print_plugins_help): New.
2541         * toplev.c (toplev_main): Call print_plugins_help if needed.
2542
2543 2009-04-16  Richard Guenther  <rguenther@suse.de>
2544
2545         * gimple.c (gimple_copy): Do not clear addresses_taken bitmap.
2546         (gimple_ior_addresses_taken_1): New function.
2547         (gimple_ior_addresses_taken): Likewise.
2548         * gimple.h (struct gimple_statement_with_ops_base): Remove
2549         addresses_taken member.
2550         (gimple_ior_addresses_taken): Declare.
2551         (gimple_addresses_taken, gimple_addresses_taken_ptr,
2552         gimple_set_addresses_taken): Remove.
2553         * ipa-reference.c (mark_address): New function.
2554         (scan_stmt_for_static_refs): Use it for marking addresses taken.
2555         * tree-ssa-operands.c (add_to_addressable_set): Rename to ...
2556         (mark_address_taken): ... this.  Just set TREE_ADDRESSABLE.
2557         (gimple_add_to_addresses_taken): Remove.
2558         (get_tmr_operands): Call mark_address_taken.
2559         (get_asm_expr_operands): Likewise.
2560         (get_expr_operands): Likewise.
2561         (build_ssa_operands): Do not clear the addresses_taken bitmap.
2562         (free_stmt_operands): Do not free it.
2563         * tree-ssa.c (delete_tree_ssa): Likewise.
2564         (execute_update_addresses_taken): Use gimple_ior_addresses_taken.
2565
2566 2009-04-16  Richard Guenther  <rguenther@suse.de>
2567
2568         * gimple.h (walk_stmt_load_store_addr_ops): Declare.
2569         (walk_stmt_load_store_ops): Likewise.
2570         * gimple.c (get_base_loadstore): New function.
2571         (walk_stmt_load_store_addr_ops): Likewise.
2572         (walk_stmt_load_store_ops): Likewise.
2573         * ipa-pure-const.c (check_op): Simplify.
2574         (check_load, check_store): New functions.
2575         (check_stmt): Use walk_stmt_load_store_ops.
2576         * ipa-reference.c (mark_load): Adjust signature.
2577         (mark_store): Likewise.
2578         (scan_stmt_for_static_refs): Use walk_stmt_load_store_addr_ops.
2579
2580 2009-04-16  Rafael Avila de Espindola  <espindola@google.com>
2581
2582         * gcc-plugin.h (plugin_event): Add PLUGIN_INFO.
2583         (plugin_info): New.
2584         * opts.c (common_handle_option): Don't call print_version.
2585         * plugin.c (plugin_name_args): Add version.
2586         (register_plugin_info): New.
2587         (register_callback): Handle PLUGIN_INFO.
2588         (try_init_one_plugin): New.
2589         (init_one_plugin): Use try_init_one_plugin. Only free plugin_name_args
2590         if failed to init.
2591         (finalize_one_plugin): New.
2592         (finalize_plugins): New.
2593         (print_one_plugin): New.
2594         (print_plugins_versions): New.
2595         * plugin.h (print_plugins_versions): New.
2596         (finalize_plugins): New.
2597         * toplev.c (compile_file): Don't call initialize_plugins.
2598         (print_version): Call print_plugins_versions.
2599         (toplev_main): Call initialize_plugins. Print version if needed.
2600         Call finalize_plugins.
2601
2602 2009-04-16  Rafael Avila de Espindola  <espindola@google.com>
2603
2604         * common.opt (fversion): New.
2605         * gcc.c (print_version): New.
2606         (process_command): Don't print the version. Just set print_version.
2607         (main): Print version. Call subprocesses if print_version and
2608         verbose_flag are set.
2609         * opts.c (common_handle_option): Handle OPT_fversion.
2610
2611 2009-04-16  Richard Guenther  <rguenther@suse.de>
2612             Ira Rosen  <irar@il.ibm.com>
2613
2614         PR tree-optimization/39698
2615         * tree-vect-loop.c (get_initial_def_for_reduction): Use the
2616         type of the reduction variable.  Only generate the def if
2617         it is needed.
2618
2619         * omp-low.c (expand_omp_for_generic): When converting to a pointer
2620         make sure to first convert to an integer of the same precision.
2621         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Retain
2622         the type of the evolution correctly in computing the new
2623         induction variable base.
2624
2625 2009-04-16  Richard Guenther  <rguenther@suse.de>
2626
2627         PR middle-end/39625
2628         * tree-cfg.c (make_blocks): Split statements with to-be
2629         abnormal SSA names on the lhs.
2630
2631 2009-04-16  Paolo Bonzini  <bonzini@gnu.org>
2632
2633         * c-common.c (vector_targets_convertible_p, vector_types_convertible_p):
2634         Use TYPE_VECTOR_OPAQUE instead of targetm.vector_opaque_p.
2635         * c-typeck.c (really_start_incremental_init): Likewise.
2636         * target-def.h (TARGET_VECTOR_OPAQUE_P): Remove.
2637         (TARGET_INITIALIZER): Remove it.
2638         * target.h (struct target): Remove vector_opaque_p.
2639         * tree.c (build_opaque_vector_type): New.
2640         * tree.h (TYPE_VECTOR_OPAQUE): New.
2641         (build_opaque_vector_type): Declare.
2642         * doc/tm.texi (TARGET_VECTOR_OPAQUE_P): Remove.
2643         * config/rs6000/rs6000.c (build_opaque_vector_type,
2644         rs6000_is_vector_type, TARGET_VECTOR_OPAQUE_P): Remove.
2645         (rs6000_init_builtins): Use build_opaque_vector_type for
2646         opaque_V4SI_type_node.
2647
2648 2009-04-15  Catherine Moore  <clm@codesourcery.com>
2649
2650         * debug.h (set_name):  Declare.
2651         * dwarf2out.c (dwarf2out_set_name): Declare.
2652         (dwarf2_debug_hooks): Add set_name.
2653         (find_AT_string): New.
2654         (add_AT_string): Call find_AT_string.
2655         (dwarf2out_set_name): New.
2656         * cp/decl.c (grokdeclarator): Call set_name.
2657         * vmsdbgout.c (vmsdbg_debug_hooks): Add set_name_debug_nothing.
2658         * debug.c (do_nothing_debug_hooks):  Likewise.
2659         * dbxout.c (dbx_debug_hooks): Likewise.
2660         * sdbout.c (sdb_debug_hooks): Likewise.
2661
2662 2009-04-15  Michael Eager  <eager@eagercon.com>
2663
2664         * config/rs6000/rs6000.c (rs6000_function_value): Set function return
2665         reg for single-precision FPU.
2666         * config/rs6000/rs6000.md (movsi_internal1): Only for
2667         !TARGET_SINGLE_FPU.
2668         (movsi_internal1_single): New. Add pattern to move SI values to/from
2669         single-precision FP regs.
2670
2671 2009-04-15  Richard Guenther  <rguenther@suse.de>
2672
2673         * omp-low.c (lower_rec_input_clauses): Build correct address
2674         expressions.
2675         (expand_omp_for_generic): Fix multiplication type.
2676         * tree-loop-distribution.c (build_size_arg): Build a size_t argument.
2677         (generate_memset_zero): Fix types.
2678         * tree-profile.c (prepare_instrumented_value): Correctly
2679         widen a pointer.
2680
2681 2009-04-15  Ian Lance Taylor  <iant@google.com>
2682
2683         * c.opt (Wenum-compare): Enable for C and Objc.  Initialize to -1.
2684         * c-opts.c (c_common_handle_option): For C, set warn_enum_compare
2685         for -Wall and for -Wc++-compat.
2686         (c_common_post_options): For C++, set warn_enum_compare if not
2687         already set.
2688         * c-tree.h (struct c_expr): Add field original_type.
2689         (build_external_ref): Update declaration.
2690         * c-parser.c (c_parser_braced_init): Set original_type.
2691         (c_parser_initelt): Likewise.
2692         (c_parser_expr_no_commas): Likewise.
2693         (c_parser_conditional_expression): Likewise.
2694         (c_parser_cast_expression): Likewise.
2695         (c_parser_unary_expression): Likewise.  Pull setting of
2696         original_code to top of function.
2697         (c_parser_sizeof_expression): Set original_type.
2698         (c_parser_alignof_expression): Likewise.
2699         (c_parser_postfix_expression): Likewise.  Pull setting of
2700         original_code to top of function.
2701         (c_parser_postfix_expression_after_paren_type): Set original_type.
2702         (c_parser_postfix_expression_after_primary): Likewise.
2703         (c_parser_expression): Likewise.
2704         * c-typeck.c (build_external_ref): Add type parameter.  Change all
2705         callers.
2706         (c_expr_sizeof_expr): Set original_type field.
2707         (parser_build_unary_op): Likewise.
2708         (parser_build_binary_op): Likewise.  Optionally warn about
2709         comparisons of enums of different types.
2710         (digest_init): Set original_type field.
2711         (really_start_incremental_init): Likewise.
2712         (push_init_level, pop_init_level): Likewise.
2713         * doc/invoke.texi (Warning Options): -Wenum-compare now
2714         supported in C.
2715
2716 2009-04-15  Richard Guenther  <rguenther@suse.de>
2717
2718         * tree-ssa-pre.c (eliminate): When replacing a PHI node carry
2719         out a necessary conversion.
2720         * tree-ssa-sccvn.c (run_scc_vn): Also assign value-ids to
2721         names we didn't value number.
2722         * tree-mudflap.c (mf_build_check_statement_for): Use correct types.
2723
2724 2009-04-15  Richard Guenther  <rguenther@suse.de>
2725
2726         PR tree-optimization/39764
2727         * tree-ssa-ccp.c (get_value): Canonicalize value with
2728         canonicalize_float_value.
2729
2730 2009-04-15  Jan Hubicka  <jh@suse.cz>
2731
2732         * builtins.def (va_start, va_end, va_copy): Fix my previous commit.
2733         Wrong version of patch.
2734
2735 2009-04-15  Jan Hubicka  <jh@suse.cz>
2736
2737         * builtins.def (va_start, va_end, va_copy): Mark nothrow.
2738
2739 2009-04-15  Nathan Sidwell  <nathan@codesourcery.com>
2740
2741         * config/rs6000/rs6000.c (rs6000_init_builtins): Set TYPE_NAME of
2742         our distinct integral and vector types.
2743
2744 2009-04-15  Rafael Avila de Espindola  <espindola@google.com>
2745
2746         * class.c (build_vtbl_ref_1): Remove call to assemble_external.
2747         * init.c (build_vtbl_address): Remove call to assemble_external.
2748
2749 2009-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
2750
2751         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): Fix debug
2752         output for other floating point modes.
2753
2754 2009-04-14  Diego Novillo  <dnovillo@google.com>
2755
2756         * diagnostic.c (diagnostic_report_diagnostic): Do not
2757         warn about loaded plugins for DK_ERROR and DK_WARNING.
2758         * c-decl.c (declspecs_add_type): Move call to
2759         invoke_plugin_callbacks ...
2760         * c-parser.c (c_parser_declspecs): ... here.
2761         * plugin.c (dump_active_plugins): Tidy output.
2762
2763 2009-04-14  Diego Novillo  <dnovillo@google.com>
2764             Le-Chun Wu  <lcwu@google.com>
2765
2766         * configure.ac: Add --enable-plugin support.
2767         Define ENABLE_PLUGIN and PLUGINLIBS when specified.
2768         * Makefile.in (PLUGIN_H): Define.
2769         Export ENABLE_PLUGIN and GMPINC to site.exp.
2770         Add PLUGINLIBS to link command.
2771         Add/modify dependencies for plugin.o and files including plugin.h.
2772         (plugin.o): New.
2773         * config.in: Regenerate.
2774
2775         * opts.c (common_handle_option): Handle OPT_fplugin_ and
2776         OPT_fplugin_arg_.
2777
2778 2009-04-14  Le-Chun Wu  <lcwu@google.com>
2779
2780         * tree-pass.h (register_one_dump_file): Add a prototype for
2781         register_one_dump_file.
2782         * toplev.c (compile_file): Call initialize_plugins.
2783         (do_compile): Call invoke_plugin_callbacks.
2784         (toplev_main): Call invoke_plugin_callbacks.
2785         * common.opt: Add -fplugin= and -fplugin-arg-.
2786         * gcc-plugin.h: New public header file for plugins to include.
2787         * plugin.c: New source file.
2788         * plugin.h: New internal header file.
2789         * passes.c (register_one_dump_file): Make it external.
2790
2791         * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks.
2792
2793 2009-04-14  Diego Novillo  <dnovillo@google.com>
2794
2795         * doc/plugins.texi: New.
2796         * doc/gccint.texi: Add reference to Plugins chapter.
2797         * doc/invoke.texi: Document -fplugin and -fplugin-arg
2798         * diagnostic.c (diagnostic_report_diagnostic): Warn about
2799         loaded plugins, if any.
2800         * timevar.def (TV_PLUGIN_INIT): Define.
2801         (TV_PLUGIN_RUN): Define.
2802         * plugin.c: Include timevar.h
2803         (plugins_active_p): New.
2804         (dump_active_plugins): New.
2805         (debug_active_plugins): New.
2806
2807 2009-04-14  Joseph Myers  <joseph@codesourcery.com>
2808
2809         * config/sol2.h (LINK_ARCH32_SPEC_BASE): Use %R with absolute
2810         library paths.
2811         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Likewise.
2812
2813 2009-04-14  Kazu Hirata  <kazu@codesourcery.com>
2814
2815         * config/arm/arm.c (arm_rtx_costs_1): Treat a minus with a shift
2816         the same as a minus without a shift.
2817
2818 2009-04-14  Nick Clifton  <nickc@redhat.com>
2819
2820         * config/stormy16/stormy16.md (ineqbranch_1): Do not assume that
2821         comparisons with small integers will always produce a short
2822         branch.
2823
2824 2009-04-14  Rafael Avila de Espindola  <espindola@google.com>
2825
2826         Merge:
2827         2008-12-19  Diego Novillo  <dnovillo@google.com>
2828
2829         * cgraph.c (dump_cgraph_node): Show memory address of NODE.
2830
2831 2009-04-14  Richard Guenther  <rguenther@suse.de>
2832
2833         * tree-cfg.c (verify_gimple_assign_unary): Adjust vector code
2834         verification.
2835         (verify_gimple_assign_binary): Likewise.  Handle shifts and
2836         rotates correctly.
2837         (verify_gimple_phi): Print the mismatched argument position.
2838         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
2839         Fix types.
2840         (vect_update_init_of_dr): Likewise.
2841         * matrix-reorg.c (transform_access_sites): Do what the
2842         comment suggests.
2843         * omp-low.c (expand_omp_atomic_pipeline): Use the correct types.
2844
2845 2009-04-13  Michael Eager  <eager@eagercon.com>
2846
2847         * config/rs6000/rs6000-c.c: generate defines if rs6000_xilinx_fpu:
2848         _XFPU, _XFPU_SP_LITE, _XFPU_SP_FULL, _XFPU_DP_LITE, _XFPU_DP_FULL
2849         * config/rs6000/xilinx.h: New.  Spec for powerpc-xilinx-eabi
2850         * config.gcc (powerpc-xilinx-eabi): add xilinx.h to tm_file,
2851         remove duplicate config
2852
2853 2009-04-13  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
2854
2855         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Dump
2856         file_name:line_number type locator of the call site.
2857
2858 2009-04-13  Vladimir Makarov  <vmakarov@redhat.com>
2859
2860         * genautomata.c: Put blank after comma.
2861         (automaton_decls): New.
2862         (struct unit_usage): Add comments to member next.
2863         (store_alt_unit_usage): Keep the list ordered.
2864         (unit_present_on_list_p, equal_alternatives_p): New.
2865         (check_regexp_units_distribution): Check units distribution
2866         correctness correctly.
2867         (main): Don't write automata if error is found.  Return correct
2868         exit code.
2869
2870         * config/m68k/cf.md (cfv4_ds): Remove.
2871         (cfv4_pOEP1, cfv4_sOEP1, cfv4_pOEP2,cfv4_sOEP2, cfv4_pOEP3,
2872         cfv4_sOEP3): Assign to cfv4_oep instead of cfv4_ds.
2873
2874         * config/rs6000/power4.md (lsuq_power4, iq_power4, fpq_power4,
2875         power4-load-ext, power4-store, power4-store-update,
2876         power4-fpstore, power4-fpstore-update, power4-two, power4-three,
2877         power4-insert, power4-compare, power4-lmul-cmp, power4-imul-cmp,
2878         power4-lmul, , power4-imul, power4-imul3, power4-sdiv,
2879         power4-sqrt, power4-isync): Modify reservation to make correct
2880         unit distribution to automata.
2881
2882         * config/rs6000/power5.md (iq_power5, fpq_power5, power5-store,
2883         power5-store-update, power5-two, power5-three, power5-lmul,
2884         power5-imul, power5-imul3, power5-sdiv, power5-sqrt): Ditto.
2885
2886 2009-04-13  Adam Nemet  <anemet@caviumnetworks.com>
2887
2888         * except.c (pass_set_nothrow_function_flags): Set name and add
2889         TODO_dump_func.
2890         (set_nothrow_function_flags): Mention in the dump file when
2891         changing a function to nothrow.
2892
2893 2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>
2894
2895         PR/39066
2896         * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Use __SIZE_TYPE__
2897         instead of unsigned long.
2898
2899 2009-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2900
2901         * config/arm/arm.c (return_used_this_function): Remove.
2902         (arm_output_function_prologue): Remove use of
2903         return_used_this_function.
2904         (output_return_instruction): Replace use of
2905         return_used_this_function
2906         by cfun->machine->return_used_this_function.
2907         (arm_output_epilogue): Likewise.
2908         (arm_output_function_epilogue): Likewise.
2909         (thumb_unexpanded_epilogue): Likewise.
2910         * config/arm/arm.h (struct machine_function):
2911         New member return_used_this_function.
2912
2913 2009-04-12  Mark Mitchell  <mark@codesourcery.com>
2914
2915         * doc/install.texi: Correct description of default directory for
2916         --with-gxx-include-dir.
2917
2918 2009-04-12  Eric Botcazou  <ebotcazou@adacore.com>
2919
2920         * fold-const.c (build_range_check): Properly deal with enumeral and
2921         boolean base types.
2922
2923 2009-04-12  Steven Bosscher  <steven@gcc.gnu.org>
2924
2925         * doc/invoke.texi (max_gcse_passes): Remove documentation.
2926         * params.def (PARAM_MAX_GCSE_PASSES): Remove.
2927         * params.h (MAX_GCSE_PASSES): Remove.
2928         * gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
2929         in sequence.  Remove ability to run multiple passes.
2930         (bypass_jumps): Report run as third CPROP pass.
2931
2932 2009-04-12  Adam Nemet  <anemet@caviumnetworks.com>
2933
2934         PR middle-end/39651
2935         * except.c (can_throw_external): Look at each insn in a SEQUENCE
2936         when deciding whether the whole SEQUENCE can throw.
2937
2938 2009-04-12  Uros Bizjak  <ubizjak@gmail.com>
2939
2940         PR target/39740
2941         * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
2942         offseted label references.
2943
2944 2009-04-11  Jan Hubicka  <jh@suse.cz>
2945
2946         * tree-ssa-pre.c (eliminate): Fix call of update_stmt.
2947
2948 2009-04-11  Richard Guenther  <rguenther@suse.de>
2949
2950         PR middle-end/39732
2951         * tree-inline.c (declare_return_variable): Mark DECL_BY_REFERENCE
2952         return variables as TREE_ADDRESSABLE.
2953
2954 2009-04-11  Richard Guenther  <rguenther@suse.de>
2955
2956         PR tree-optimization/39713
2957         * tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
2958         reference trees have SSA_NAME operands.
2959
2960 2009-04-11  Richard Guenther  <rguenther@suse.de>
2961
2962         PR c/39712
2963         * c-gimplify.c (c_gimplify_expr): Adjust check for mismatched
2964         address expressions.
2965
2966 2009-04-11  Dave Korn  <dave.korn.cygwin@gmail.com>
2967
2968         * config/i386/cygwin-stdint.h (INT_LEAST32_TYPE):  Update to
2969         match changes in Cygwin 1.7
2970         (UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
2971         UINT_FAST16_TYPE, UINT_FAST32_TYPE):  Likewise.
2972
2973 2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
2974
2975         PR tree-optimization/39701
2976         * doc/invoke.texi (Optimization Options): Document change in
2977         meaning and initialization of -fdelete-null-pointer-checks.
2978
2979 2009-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2980
2981         PR middle-end/39701
2982         * common.opt (-fdelete-null-pointer-checks): Initialize to 1.
2983
2984         * opts.c (decode_options): Don't set flag_delete_null_pointer_checks
2985         here.
2986
2987         * doc/invoke.texi: Update -fdelete-null-pointer-checks.
2988
2989 2009-04-10  Chao-ying Fu  <fu@mips.com>
2990
2991         * doc/tm.texi (Instruction Output): Document
2992         TARGET_ASM_FINAL_POSTSCAN_INSN.
2993         * target.h (final_postscan_insn): New field in asm_out.
2994         * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
2995         (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
2996         * final.c (final_scan_insn): Call
2997         targetm.asm_out.final_postscan_insn after outputting
2998         an asm macro and a normal instruction.
2999
3000         * config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
3001         * config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
3002         * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
3003         (mips_final_prescan_insn, mips_final_postscan_insn): New functions.
3004         (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
3005
3006 2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
3007
3008         PR middle-end/39701
3009         * fold-const.c (tree_single_nonzero_warnv_p): Pass non-static
3010         variables as non-NULL even with -fdelete-null-pointer-checks.
3011
3012 2009-04-10  H.J. Lu  <hongjiu.lu@intel.com>
3013
3014         * config/rs6000/darwin-vecsave.asm: Remove extra "*/".
3015
3016 2009-04-09  H.J. Lu  <hongjiu.lu@intel.com>
3017
3018         PR target/39678
3019         * config/i386/i386.c (classify_argument): Handle SCmode with
3020         (bit_offset % 64) != 0.
3021
3022 2009-04-09  Sandra Loosemore  <sandra@codesourcery.com>
3023
3024         * doc/invoke.texi (Optimize Options): Add cross-reference to
3025         -Q --help=optimizers examples.
3026
3027 2009-04-10  Ben Elliston  <bje@au.ibm.com>
3028
3029         PR target/36800
3030         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Do not set
3031         regalign for the reg == fpr and TDmode case.
3032
3033 2009-04-09  David Ayers  <ayers@fsfe.org>
3034
3035         PR objc/29200
3036         * objc/objc-act.c (warn_with_method): Remove helper function.
3037         (check_duplicates): Call warning and inform directly.
3038         (really_start_method): Likewise.
3039
3040 2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
3041
3042         * expmed.c (expand_divmod): Always use a comparison for a division
3043         by a large unsigned integer.
3044
3045         * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls
3046         for things others than variables or functions as nonzero.
3047
3048 2009-04-09  Nick Clifton  <nickc@redhat.com>
3049
3050         * unwind-compat.c: Change copyright header to refer to version
3051         3 of the GNU General Public License with version 3.1 of the
3052         GCC Runtime Library Exception and to point readers at the
3053         COPYING3 and COPYING3.RUNTIME files and the FSF's license web page.
3054         * config/alpha/crtfastmath.c: Likewise.
3055         * config/alpha/linux-unwind.h: Likewise.
3056         * config/alpha/qrnnd.asm: Likewise.
3057         * config/alpha/vms-crt0-64.c: Likewise.
3058         * config/alpha/vms-crt0.c: Likewise.
3059         * config/alpha/vms-dwarf2.asm: Likewise.
3060         * config/alpha/vms-dwarf2eh.asm: Likewise.
3061         * config/alpha/vms-psxcrt0-64.c: Likewise.
3062         * config/alpha/vms-psxcrt0.c: Likewise.
3063         * config/alpha/vms_tramp.asm: Likewise.
3064         * config/arc/initfini.c: Likewise.
3065         * config/arc/lib1funcs.asm: Likewise.
3066         * config/arm/bpabi-v6m.S: Likewise.
3067         * config/arm/bpabi.S: Likewise.
3068         * config/arm/bpabi.c: Likewise.
3069         * config/arm/crti.asm: Likewise.
3070         * config/arm/crtn.asm: Likewise.
3071         * config/arm/ieee754-df.S: Likewise.
3072         * config/arm/ieee754-sf.S: Likewise.
3073         * config/arm/lib1funcs.asm: Likewise.
3074         * config/arm/libunwind.S: Likewise.
3075         * config/arm/linux-atomic.c: Likewise.
3076         * config/arm/mmintrin.h: Likewise.
3077         * config/arm/pr-support.c: Likewise.
3078         * config/arm/unaligned-funcs.c: Likewise.
3079         * config/arm/unwind-arm.c: Likewise.
3080         * config/arm/unwind-arm.h: Likewise.
3081         * config/avr/libgcc.S: Likewise.
3082         * config/bfin/crti.s: Likewise.
3083         * config/bfin/crtlibid.s: Likewise.
3084         * config/bfin/crtn.s: Likewise.
3085         * config/bfin/lib1funcs.asm: Likewise.
3086         * config/bfin/linux-unwind.h: Likewise.
3087         * config/cris/arit.c: Likewise.
3088         * config/cris/cris_abi_symbol.c: Likewise.
3089         * config/darwin-64.c: Likewise.
3090         * config/darwin-crt2.c: Likewise.
3091         * config/darwin-crt3.c: Likewise.
3092         * config/darwin.h: Likewise.
3093         * config/dbxelf.h: Likewise.
3094         * config/dfp-bit.c: Likewise.
3095         * config/dfp-bit.h: Likewise.
3096         * config/elfos.h: Likewise.
3097         * config/fixed-bit.c: Likewise.
3098         * config/fixed-bit.h: Likewise.
3099         * config/fp-bit.c: Likewise.
3100         * config/fp-bit.h: Likewise.
3101         * config/fr30/crti.asm: Likewise.
3102         * config/fr30/crtn.asm: Likewise.
3103         * config/fr30/lib1funcs.asm: Likewise.
3104         * config/freebsd-spec.h: Likewise.
3105         * config/frv/cmovd.c: Likewise.
3106         * config/frv/cmovh.c: Likewise.
3107         * config/frv/cmovw.c: Likewise.
3108         * config/frv/frvbegin.c: Likewise.
3109         * config/frv/frvend.c: Likewise.
3110         * config/frv/lib1funcs.asm: Likewise.
3111         * config/glibc-stdint.h: Likewise.
3112         * config/h8300/clzhi2.c: Likewise.
3113         * config/h8300/crti.asm: Likewise.
3114         * config/h8300/crtn.asm: Likewise.
3115         * config/h8300/ctzhi2.c: Likewise.
3116         * config/h8300/fixunssfsi.c: Likewise.
3117         * config/h8300/lib1funcs.asm: Likewise.
3118         * config/h8300/parityhi2.c: Likewise.
3119         * config/h8300/popcounthi2.c: Likewise.
3120         * config/i386/ammintrin.h: Likewise.
3121         * config/i386/att.h: Likewise.
3122         * config/i386/avxintrin.h: Likewise.
3123         * config/i386/biarch64.h: Likewise.
3124         * config/i386/bmmintrin.h: Likewise.
3125         * config/i386/cpuid.h: Likewise.
3126         * config/i386/cross-stdarg.h: Likewise.
3127         * config/i386/crtfastmath.c: Likewise.
3128         * config/i386/crtprec.c: Likewise.
3129         * config/i386/cygming-crtbegin.c: Likewise.
3130         * config/i386/cygming-crtend.c: Likewise.
3131         * config/i386/cygwin.asm: Likewise.
3132         * config/i386/emmintrin.h: Likewise.
3133         * config/i386/gmm_malloc.h: Likewise.
3134         * config/i386/gthr-win32.c: Likewise.
3135         * config/i386/i386.h: Likewise.
3136         * config/i386/immintrin.h: Likewise.
3137         * config/i386/linux-unwind.h: Likewise.
3138         * config/i386/linux64.h: Likewise.
3139         * config/i386/mm3dnow.h: Likewise.
3140         * config/i386/mmintrin-common.h: Likewise.
3141         * config/i386/mmintrin.h: Likewise.
3142         * config/i386/nmmintrin.h: Likewise.
3143         * config/i386/pmm_malloc.h: Likewise.
3144         * config/i386/pmmintrin.h: Likewise.
3145         * config/i386/smmintrin.h: Likewise.
3146         * config/i386/sol2-c1.asm: Likewise.
3147         * config/i386/sol2-ci.asm: Likewise.
3148         * config/i386/sol2-cn.asm: Likewise.
3149         * config/i386/sol2-gc1.asm: Likewise.
3150         * config/i386/tmmintrin.h: Likewise.
3151         * config/i386/unix.h: Likewise.
3152         * config/i386/w32-unwind.h: Likewise.
3153         * config/i386/wmmintrin.h: Likewise.
3154         * config/i386/x86-64.h: Likewise.
3155         * config/i386/x86intrin.h: Likewise.
3156         * config/i386/xmmintrin.h: Likewise.
3157         * config/ia64/crtbegin.asm: Likewise.
3158         * config/ia64/crtend.asm: Likewise.
3159         * config/ia64/crtfastmath.c: Likewise.
3160         * config/ia64/crti.asm: Likewise.
3161         * config/ia64/crtn.asm: Likewise.
3162         * config/ia64/fde-glibc.c: Likewise.
3163         * config/ia64/lib1funcs.asm: Likewise.
3164         * config/ia64/linux-unwind.h: Likewise.
3165         * config/ia64/quadlib.c: Likewise.
3166         * config/ia64/unwind-ia64.c: Likewise.
3167         * config/linux.h: Likewise.
3168         * config/m32c/m32c-lib1.S: Likewise.
3169         * config/m32c/m32c-lib2-trapv.c: Likewise.
3170         * config/m32c/m32c-lib2.c: Likewise.
3171         * config/m32r/initfini.c: Likewise.
3172         * config/m68hc11/larith.asm: Likewise.
3173         * config/m68hc11/m68hc11-crt0.S: Likewise.
3174         * config/m68k/cf.md: Likewise.
3175         * config/m68k/crti.s: Likewise.
3176         * config/m68k/crtn.s: Likewise.
3177         * config/m68k/lb1sf68.asm: Likewise.
3178         * config/m68k/linux-unwind.h: Likewise.
3179         * config/mcore/crti.asm: Likewise.
3180         * config/mcore/crtn.asm: Likewise.
3181         * config/mcore/lib1.asm: Likewise.
3182         * config/mips/linux-unwind.h: Likewise.
3183         * config/mips/loongson.h: Likewise.
3184         * config/mips/mips16.S: Likewise.
3185         * config/mmix/crti.asm: Likewise.
3186         * config/mmix/crtn.asm: Likewise.
3187         * config/pa/fptr.c: Likewise.
3188         * config/pa/hpux-unwind.h: Likewise.
3189         * config/pa/lib2funcs.asm: Likewise.
3190         * config/pa/linux-atomic.c: Likewise.
3191         * config/pa/linux-unwind.h: Likewise.
3192         * config/pa/milli64.S: Likewise.
3193         * config/pa/quadlib.c: Likewise.
3194         * config/pa/stublib.c: Likewise.
3195         * config/picochip/libgccExtras/adddi3.asm: Likewise.
3196         * config/picochip/libgccExtras/ashlsi3.asm: Likewise.
3197         * config/picochip/libgccExtras/ashlsi3.c: Likewise.
3198         * config/picochip/libgccExtras/ashrsi3.asm: Likewise.
3199         * config/picochip/libgccExtras/ashrsi3.c: Likewise.
3200         * config/picochip/libgccExtras/cmpsi2.asm: Likewise.
3201         * config/picochip/libgccExtras/divmod15.asm: Likewise.
3202         * config/picochip/libgccExtras/divmodhi4.asm: Likewise.
3203         * config/picochip/libgccExtras/divmodsi4.asm: Likewise.
3204         * config/picochip/libgccExtras/longjmp.asm: Likewise.
3205         * config/picochip/libgccExtras/lshrsi3.asm: Likewise.
3206         * config/picochip/libgccExtras/lshrsi3.c: Likewise.
3207         * config/picochip/libgccExtras/parityhi2.asm: Likewise.
3208         * config/picochip/libgccExtras/popcounthi2.asm: Likewise.
3209         * config/picochip/libgccExtras/setjmp.asm: Likewise.
3210         * config/picochip/libgccExtras/subdi3.asm: Likewise.
3211         * config/picochip/libgccExtras/ucmpsi2.asm: Likewise.
3212         * config/picochip/libgccExtras/udivmodhi4.asm: Likewise.
3213         * config/picochip/libgccExtras/udivmodsi4.asm: Likewise.
3214         * config/rs6000/750cl.h: Likewise.
3215         * config/rs6000/altivec.h: Likewise.
3216         * config/rs6000/biarch64.h: Likewise.
3217         * config/rs6000/crtresfpr.asm: Likewise.
3218         * config/rs6000/crtresgpr.asm: Likewise.
3219         * config/rs6000/crtresxfpr.asm: Likewise.
3220         * config/rs6000/crtresxgpr.asm: Likewise.
3221         * config/rs6000/crtsavfpr.asm: Likewise.
3222         * config/rs6000/crtsavgpr.asm: Likewise.
3223         * config/rs6000/darwin-asm.h: Likewise.
3224         * config/rs6000/darwin-fallback.c: Likewise.
3225         * config/rs6000/darwin-fpsave.asm: Likewise.
3226         * config/rs6000/darwin-ldouble.c: Likewise.
3227         * config/rs6000/darwin-tramp.asm: Likewise.
3228         * config/rs6000/darwin-unwind.h: Likewise.
3229         * config/rs6000/darwin-vecsave.asm: Likewise.
3230         * config/rs6000/darwin-world.asm: Likewise.
3231         * config/rs6000/e500crtres32gpr.asm: Likewise.
3232         * config/rs6000/e500crtres64gpr.asm: Likewise.
3233         * config/rs6000/e500crtres64gprctr.asm: Likewise.
3234         * config/rs6000/e500crtrest32gpr.asm: Likewise.
3235         * config/rs6000/e500crtrest64gpr.asm: Likewise.
3236         * config/rs6000/e500crtresx32gpr.asm: Likewise.
3237         * config/rs6000/e500crtresx64gpr.asm: Likewise.
3238         * config/rs6000/e500crtsav32gpr.asm: Likewise.
3239         * config/rs6000/e500crtsav64gpr.asm: Likewise.
3240         * config/rs6000/e500crtsav64gprctr.asm: Likewise.
3241         * config/rs6000/e500crtsavg32gpr.asm: Likewise.
3242         * config/rs6000/e500crtsavg64gpr.asm: Likewise.
3243         * config/rs6000/e500crtsavg64gprctr.asm: Likewise.
3244         * config/rs6000/eabi-ci.asm: Likewise.
3245         * config/rs6000/eabi-cn.asm: Likewise.
3246         * config/rs6000/eabi.asm: Likewise.
3247         * config/rs6000/linux-unwind.h: Likewise.
3248         * config/rs6000/linux64.h: Likewise.
3249         * config/rs6000/paired.h: Likewise.
3250         * config/rs6000/paired.md: Likewise.
3251         * config/rs6000/ppc64-fp.c: Likewise.
3252         * config/rs6000/ppu_intrinsics.h: Likewise.
3253         * config/rs6000/rs6000.h: Likewise.
3254         * config/rs6000/si2vmx.h: Likewise.
3255         * config/rs6000/sol-ci.asm: Likewise.
3256         * config/rs6000/sol-cn.asm: Likewise.
3257         * config/rs6000/spe.h: Likewise.
3258         * config/rs6000/spu2vmx.h: Likewise.
3259         * config/rs6000/sysv4.h: Likewise.
3260         * config/rs6000/tramp.asm: Likewise.
3261         * config/rs6000/vec_types.h: Likewise.
3262         * config/s390/linux-unwind.h: Likewise.
3263         * config/s390/tpf-unwind.h: Likewise.
3264         * config/score/crti.asm: Likewise.
3265         * config/score/crtn.asm: Likewise.
3266         * config/sh/crt1.asm: Likewise.
3267         * config/sh/crti.asm: Likewise.
3268         * config/sh/crtn.asm: Likewise.
3269         * config/sh/divtab-sh4-300.c: Likewise.
3270         * config/sh/divtab-sh4.c: Likewise.
3271         * config/sh/divtab.c: Likewise.
3272         * config/sh/lib1funcs-4-300.asm: Likewise.
3273         * config/sh/lib1funcs-Os-4-200.asm: Likewise.
3274         * config/sh/lib1funcs.asm: Likewise.
3275         * config/sh/lib1funcs.h: Likewise.
3276         * config/sh/linux-atomic.asm: Likewise.
3277         * config/sh/linux-unwind.h: Likewise.
3278         * config/sh/shmedia.h: Likewise.
3279         * config/sh/sshmedia.h: Likewise.
3280         * config/sh/ushmedia.h: Likewise.
3281         * config/sparc/crtfastmath.c: Likewise.
3282         * config/sparc/linux-unwind.h: Likewise.
3283         * config/sparc/sol2-c1.asm: Likewise.
3284         * config/sparc/sol2-ci.asm: Likewise.
3285         * config/sparc/sol2-cn.asm: Likewise.
3286         * config/spu/divmodti4.c: Likewise.
3287         * config/spu/divv2df3.c: Likewise.
3288         * config/spu/float_disf.c: Likewise.
3289         * config/spu/float_unsdidf.c: Likewise.
3290         * config/spu/float_unsdisf.c: Likewise.
3291         * config/spu/float_unssidf.c: Likewise.
3292         * config/spu/mfc_multi_tag_release.c: Likewise.
3293         * config/spu/mfc_multi_tag_reserve.c: Likewise.
3294         * config/spu/mfc_tag_release.c: Likewise.
3295         * config/spu/mfc_tag_reserve.c: Likewise.
3296         * config/spu/mfc_tag_table.c: Likewise.
3297         * config/spu/multi3.c: Likewise.
3298         * config/spu/spu_internals.h: Likewise.
3299         * config/spu/spu_intrinsics.h: Likewise.
3300         * config/spu/spu_mfcio.h: Likewise.
3301         * config/spu/vec_types.h: Likewise.
3302         * config/spu/vmx2spu.h: Likewise.
3303         * config/stormy16/stormy16-lib2.c: Likewise.
3304         * config/svr4.h: Likewise.
3305         * config/sync.c: Likewise.
3306         * config/v850/lib1funcs.asm: Likewise.
3307         * config/vxlib-tls.c: Likewise.
3308         * config/vxlib.c: Likewise.
3309         * config/vxworks-dummy.h: Likewise.
3310         * config/xtensa/crti.asm: Likewise.
3311         * config/xtensa/crtn.asm: Likewise.
3312         * config/xtensa/ieee754-df.S: Likewise.
3313         * config/xtensa/ieee754-sf.S: Likewise.
3314         * config/xtensa/lib1funcs.asm: Likewise.
3315         * config/xtensa/lib2funcs.S: Likewise.
3316         * config/xtensa/linux-unwind.h: Likewise.
3317         * config/xtensa/unwind-dw2-xtensa.c: Likewise.
3318         * config/xtensa/unwind-dw2-xtensa.h: Likewise.
3319         * coretypes.h: Likewise.
3320         * crtstuff.c: Likewise.
3321         * defaults.h: Likewise.
3322         * dwarf2.h: Likewise.
3323         * emutls.c: Likewise.
3324         * gbl-ctors.h: Likewise.
3325         * gcov-io.h: Likewise.
3326         * ginclude/float.h: Likewise.
3327         * ginclude/iso646.h: Likewise.
3328         * ginclude/stdarg.h: Likewise.
3329         * ginclude/stdbool.h: Likewise.
3330         * ginclude/stddef.h: Likewise.
3331         * ginclude/stdfix.h: Likewise.
3332         * ginclude/stdint-gcc.h: Likewise.
3333         * ginclude/tgmath.h: Likewise.
3334         * gthr-aix.h: Likewise.
3335         * gthr-dce.h: Likewise.
3336         * gthr-gnat.c: Likewise.
3337         * gthr-gnat.h: Likewise.
3338         * gthr-lynx.h: Likewise.
3339         * gthr-mipssde.h: Likewise.
3340         * gthr-nks.h: Likewise.
3341         * gthr-posix.c: Likewise.
3342         * gthr-posix.h: Likewise.
3343         * gthr-posix95.h: Likewise.
3344         * gthr-rtems.h: Likewise.
3345         * gthr-single.h: Likewise.
3346         * gthr-solaris.h: Likewise.
3347         * gthr-tpf.h: Likewise.
3348         * gthr-vxworks.h: Likewise.
3349         * gthr-win32.h: Likewise.
3350         * gthr.h: Likewise.
3351         * libgcc2.c: Likewise.
3352         * libgcc2.h: Likewise.
3353         * libgcov.c: Likewise.
3354         * tsystem.h: Likewise.
3355         * typeclass.h: Likewise.
3356         * unwind-c.c: Likewise.
3357         * unwind-compat.h: Likewise.
3358         * unwind-dw2-fde-compat.c: Likewise.
3359         * unwind-dw2-fde-darwin.c: Likewise.
3360         * unwind-dw2-fde-glibc.c: Likewise.
3361         * unwind-dw2-fde.c: Likewise.
3362         * unwind-dw2-fde.h: Likewise.
3363         * unwind-dw2.c: Likewise.
3364         * unwind-dw2.h: Likewise.
3365         * unwind-generic.h: Likewise.
3366         * unwind-pe.h: Likewise.
3367         * unwind-sjlj.c: Likewise.