platform/upstream/linaro-gcc.git
15 years ago./:
ian [Mon, 27 Apr 2009 20:25:48 +0000 (20:25 +0000)]
./:
* collect2.c (is_ctor_dtor): Change type of ret field in struct
names to symkind.
* dce.c (run_fast_df_dce): Change type of old_flags to int.
* df-core.c (df_set_flags): Change return type to int.  Change
type of old_flags to int.
(df_clear_flags): Likewise.
* df-scan.c (df_def_record_1): Change 0 to VOIDmode.
(df_get_conditional_uses): Likewise.
* df.h (df_set_flags, df_clear_flags): Update declarations.
* dwarf2out.c (struct indirect_string_node): Change type of form
field to enum dwarf_form.
(AT_string_form): Change return type to enum dwarf_form.
* fixed-value.c (fixed_compare): Add cast to enum type.
* fwprop.c (update_df): Change 0 to VOIDmode.
* gensupport.c: Change 0 to UNKNOWN.
* gimple.h (gimple_cond_code): Add cast to enum type.
* haifa-sched.c (reemit_notes): Add cast to enum type.
* hooks.c (hook_int_void_no_regs): Remove function.
* hooks.h (hook_int_void_no_regs): Remove declaration.
* optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
* predict.c (combine_predictions_for_insn): Add casts to enum
type.
* real.c (real_arithmetic): Add cast to enum type.
(real_compare): Likewise.
* target.h (struct gcc_target): Change return type of
branch_target_register_class to enum reg_class.
* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
default_branch_target_register_class.
* targhooks.c (default_branch_target_register_class): New
function.
* targhooks.h (default_branch_target_register_class): Declare.
* tree-data-ref.c (print_direction_vector): Add cast to enum
type.
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
cast to int.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
ERROR_MARK.
* tree-vect-slp.c (vect_build_slp_tree): Change 0 to
vect_uninitialized_def.  Change 0 to ERROR_MARK.
* tree-vect-stmts.c (supportable_widening_operation): Don't
initialize icode1 and icode2.
* tree-vectorizer.h (enum vect_def_type): Add
vect_uninitialized_def.
* config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
and to STD_C89.
(cmn_err_flag_specs): Change 0 to STD_C89.
(cmn_err_char_table): Likewise.
* config/arm/arm.c (get_arm_condition_code): Change type of code
to enum arm_cond_code.
(IWMMXT_BUILTIN): Change 0 to UNKNOWN.
(IWMMXT_BUILTIN2): Likewise.
(neon_builtin_type_bits): Don't define typedef.
(neon_builtin_datum): Change type of bits field to int.
(arm_expand_neon_args): Add cast to enum type.
* config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
TLS_MODEL_NONE.
* config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN.  Add
casts to enum type.
* config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
MIPS_FP_COND_f.
* config/mips/mips.md (jal_macro): Return enum constant.
(single_insn): Likewise.
* config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
CODE_FOR_nothing.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
casts to enum type.
* config/s390/s390.c (s390_tune_flags): Change type to int.
(s390_arch_flags): Likewise.
(s390_handle_arch_option): Change flags field of struct pta to
int.
* config/s390/s390.h (s390_tune_flags): Update declaration.
(s390_arch_flags): Likewise.
* config/sh/sh.c (prepare_move_operands): Compare
tls_symbolic_operand result with enum constant.
(sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
(sh_expand_prologue): Add cast to enum type.
(sh_expand_epilogue): Likewise.
(tls_symbolic_operand): Change return type to enum tls_model.
(fpscr_set_from_mem): Add cast to enum type.
(legitimize_pic_address): Compare tls_symbolic_operand result with
enum constant.
(sh_target_reg_class): Change return type to enum reg_class.
* config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
PROCESSOR_xxx.
* config/sh/sh-protos.h (tls_symbolic_operand): Update
declaration.
* config/sparc/sparc.c (sparc_override_options): Add cast to enum
type.
* config/sparc/sparc.md (empty_delay_slot): Return enum constant.
(pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
(delayed_branch, tls_call_delay): Likewise.
(eligible_for_sibcall_delay): Likewise.
(eligible_for_return_delay): Likewise.
* config/spu/spu.c (expand_builtin_args): Add cast to enum type.
(spu_expand_builtin_1): Likewise.

* c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
for all types of conversions.
(output_init_element): Issue -Wc++-compat warning if needed when
initializing a bitfield with enum type.
* c-parser.c (c_parser_expression): Set original_type to
original_type of right hand operand of comman operator.
cp/:
* semantics.c (finish_omp_clauses): Change type of c_kind to enum
omp_clause_code.
fortran/:
* trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum
type.
* trans-io.c (st_parameter_field): Add casts to enum type.
java/:
* builtins.c (java_builtins): Add casts to enum type.
* verify-impl.c (check_class_constant): Add cast to enum type.
(check_constant, check_wide_constant): Likewise.
objc/:
* objc-act.c (objc_gimplify_expr): Add casts to enum type.
testsuite/:
* gcc.dg/Wcxx-compat-5.c: New testcase.
* gcc.dg/Wcxx-compat-6.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146855 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/
rwild [Mon, 27 Apr 2009 20:23:51 +0000 (20:23 +0000)]
gcc/
* doc/c-tree.texi (Types, Functions, Expression trees): Fix
grammar nits.
* doc/cfg.texi (Maintaining the CFG, Liveness information):
Likewise.
* doc/cpp.texi (Standard Predefined Macros)
(Implementation-defined behavior): Likewise.
* doc/extend.texi (Function Attributes, Type Attributes):
Likewise.
* doc/gimple.texi (GIMPLE Exception Handling)
(@code{GIMPLE_ASSIGN}): Likewise.
* doc/install.texi (Prerequisites, Configuration, Specific):
Likewise.
* doc/invoke.texi (Warning Options, Optimize Options)
(AVR Options, Darwin Options): Likewise.
(Optimize Options): Reformulate -fwhole-program description.
* doc/loop.texi (Lambda): Likewise.
* doc/md.texi (Output Template, Define Constraints)
(Standard Names, Insn Splitting): Likewise.
* doc/options.texi (Option properties): Likewise.
* doc/passes.texi (Tree-SSA passes): Likewise.
* doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
* doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
(File Names and DBX): Likewise.
* doc/trouble.texi (Incompatibilities): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146854 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* MAINTAINERS: Update my e-mail address.
wilson [Mon, 27 Apr 2009 19:51:20 +0000 (19:51 +0000)]
* MAINTAINERS: Update my e-mail address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146853 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
tsmigiel [Mon, 27 Apr 2009 19:33:20 +0000 (19:33 +0000)]
* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
instruction is correct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146852 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR testsuite/39807
jakub [Mon, 27 Apr 2009 19:11:23 +0000 (19:11 +0000)]
PR testsuite/39807
* dg-extract-results.sh: Close open files and use >> instead of >
to decrease number of concurrently open files from awk.  Avoid
= at the beginning of a regexp and redirect to a file determined
by curfile variable rather than concatenated strings to workaround
Solaris nawk bug.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146850 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago Allow non-constant arguments to conversion intrinsics.
tsmigiel [Mon, 27 Apr 2009 18:48:59 +0000 (18:48 +0000)]
Allow non-constant arguments to conversion intrinsics.
* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
* predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
* spu.c (print_operand): Handle 'v' and 'w'.
(exp2_immediate_p, spu_gen_exp2): Define.
* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
spu_convtf_1): Update parameter descriptions.
* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
Update.
* constraints.md ('v', 'w'): New.
* spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
Remove.
(i2f, I2F): New define_mode_attr.
(floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
fixuns_truncv4sfv4si2):  Update to use mode attribute.
(float<mode><i2f>2_mul, float<mode><i2f>2_div,
fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
patterns for combine.
* gcc.target/spu/intrinsics-3.c: Update tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146849 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
steven [Mon, 27 Apr 2009 17:21:27 +0000 (17:21 +0000)]
* dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
(cprop, hoist, pre, store_motion): New debug counters.
* tree-pass.h (pass_tracer): Move to list of gimple passes, it
is not an RTL pass anymore.
(pass_profiling): Remove extern decl for pass removed in 2005.
(pass_gcse, pass_jump_bypass): Remove.
* final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts
to 0 for clean state.
* toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration.
* cse.c (gate_handle_cse_after_global_opts,
rest_of_handle_cse_after_global_opts): New functions.
(pass_cse_after_global_opts): New pass, does local CSE.
* timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove.
(TV_CPROP): New timevar.
* gcse.c (flag_rerun_cse_after_global_opts): New global variable.
(run_jump_opt_after_gcse, max_gcse_regno): Remove global vars.
(gcse_main, recompute_all_luids): Remove.
(compute_hash_table_work): Call max_reg_num instead of reading
max_gcse_regno.
(cprop_jump): Don't set run_jump_opt_after_gcse.
(constprop_register): Always allow to alter jumps.
(cprop_insn): Likewise.
(do_local_cprop): Likewise.
(local_cprop_pass): Likewise.  Return non-zero if something changed.
(cprop): Remove function, fold interesting bits into one_cprop_pass.
(find_implicit_sets): Add note about missed optimization opportunity.
(one_cprop_pass): Rewrite to be "the" CPROP pass, called from the
pass_rtl_cprop execute function.
Don't bother tracking the pass number, each pass gets its own dumpfile
now anyway.
Always allow to alter jumpsand bypass jumps.
(bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set
will just find no suitable set.
(pre_edge_insert): Fix dumping, this function is for PRE only.
(one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the
pass_rtl_pre execute function.
(hoist_code): Return non-zero if something changed.  Keep track of
substitutions and insertions for statistics gathering similar to PRE.
(one_code_hoisting_pass): Rewrite to be "the" code hoisting pass,
called from the pass_rtl_hoist execute function.  Show pass statistics.
(compute_store_table): Use max_reg_num directly instead of using the
formerly global max_gcse_regno.
(build_store_vectors): Likewise.
(replace_store_insn): Fix dumping.
(store_motion): Rename to ...
(one_store_motion_pass): ... this.  Rewrite to be "the" STORE_MOTION
pass, called from the pass_rtl_store_motion execute function.  Keep
track of substitutions and insertions for statistics gathering similar
to PRE.
(bypass_jumps): Remove, fold interesting bits into ...
(one_cprop_pass): ... this.  Rewrite to be "the" CPROP pass, called
from the pass_rtl_cprop execute function.
(gate_handle_jump_bypass, rest_of_handle_jump_bypass,
pass_jump_bypass): Remove.
(gate_handle_gcse, rest_of_handle_gcse): Remove.
(gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New.
(gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New.
(gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New.
(gate_rtl_store_motion, execute_rtl_store_motion,
pass_rtl_store_motion): New.
* common.opt: Remove flag_cse_skip_blocks, adjust documentation to
make it clear that -fcse-skip-blocks is a no-op for backward compat.
* passes.c (init_optimization_passes): Remove pass_gcse and
pass_jump_bypass.  Schedule cprop, pre, hoist, cprop, store_motion,
and cse_after_global_opts in place of pass_gcse.  Schedule cprop
instead of pass_jump_bypass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146848 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-27 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 27 Apr 2009 15:50:05 +0000 (15:50 +0000)]
2009-04-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/39928
* gimplify.c (gimplify_expr): If we are required to create
a temporary make sure it ends up as register.

* gcc.c-torture/compile/pr39928-1.c: New testcase.
* gcc.c-torture/compile/pr39928-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146846 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * MAINTAINERS: Replace Aldy Hernandez as a maintainer for the FRV.
nickc [Mon, 27 Apr 2009 14:35:42 +0000 (14:35 +0000)]
    * MAINTAINERS: Replace Aldy Hernandez as a maintainer for the FRV.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146843 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/
hjl [Mon, 27 Apr 2009 14:02:09 +0000 (14:02 +0000)]
gcc/

2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39903
* config/i386/i386.c (construct_container): Don't call
gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.

gcc/testsuite/

2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39903
* gcc.dg/torture/pr39903-1.c: New.
* gcc.dg/torture/pr39903-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146842 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoAdd dump file checks for sms tests
revitale [Mon, 27 Apr 2009 12:17:09 +0000 (12:17 +0000)]
Add dump file checks for sms tests

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146838 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
matz [Mon, 27 Apr 2009 12:16:00 +0000 (12:16 +0000)]
* ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
(get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT.
* tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap.
(dump_replaceable_exprs): Take a bitmap.
* cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of
array.
(expand_gimple_basic_block): Likewise.
* tree-ssa-ter.c (struct temp_expr_table_d): Make
replaceable_expressions member a bitmap.
(free_temp_expr_table): Pass back and deal with bitmap, not gimple*.
(mark_replaceable): Likewise.
(find_replaceable_in_bb, dump_replaceable_exprs): Likewise.
* tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146837 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-27 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 27 Apr 2009 11:18:38 +0000 (11:18 +0000)]
2009-04-27  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
(verify_stmts): Dispatch to gimple/type verification code.
* tree-inline.c (remap_gimple_op_r): Work around C++ FE
issue with call argument types.

java/
PR java/38374
* constants.c (build_constants_constructor): Retain the old
pointer type as valid TYPE_POINTER_TO after patching the
type of the constant pool decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146831 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
matz [Mon, 27 Apr 2009 11:15:53 +0000 (11:15 +0000)]
    * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
        (init_update_ssa, delete_update_ssa, update_ssa): Remove references
        to above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146830 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
ebotcazou [Mon, 27 Apr 2009 10:42:09 +0000 (10:42 +0000)]
* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
a label's basic block.
(mark_target_live_regs): Tidy and rework obsolete comments.
Change back DF problem to LIVE.  If a label starts a basic block,
assume that all registers that used to be live then still are.
(init_resource_info): If a label starts a basic block, set its
BLOCK_FOR_INSN accordingly.
(fini_resource_info): Undo the setting of BLOCK_FOR_INSN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146829 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-27 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 27 Apr 2009 08:26:40 +0000 (08:26 +0000)]
2009-04-27  Richard Guenther  <rguenther@suse.de>

* tree-flow-inline.h (function_ann): Remove.
(get_function_ann): Likewise.
* tree-dfa.c (create_function_ann): Remove.
* tree-flow.h (struct static_var_ann_d): Remove.
(struct function_ann_d): Likewise.
(union tree_ann_d): Remove fdecl member.
(function_ann_t): Remove.
(function_ann, get_function_ann, create_function_ann): Remove
declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146828 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.
uros [Mon, 27 Apr 2009 07:20:29 +0000 (07:20 +0000)]
* config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146826 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/39875
jakub [Mon, 27 Apr 2009 05:54:32 +0000 (05:54 +0000)]
PR c++/39875
* cvt.c (convert_to_void) <case INDIRECT_REF>: Only warn about
-Wunused-value if implicit.

* g++.dg/warn/Wunused-15.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146825 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Mon, 27 Apr 2009 00:17:04 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146824 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * ipa-pure-const.c (struct funct_state_d): New fields
hubicka [Sun, 26 Apr 2009 23:35:27 +0000 (23:35 +0000)]
* ipa-pure-const.c (struct funct_state_d): New fields
state_previously_known, looping_previously_known; remove
state_set_in_source.
(analyze_function): Use new fields.
(propagate): Avoid assumption that state_set_in_source imply
nonlooping.

* tree-ssa-loop-niter.c (finite_loop_p): New function.
* tree-ssa-loop-ivcanon.c (empty_loop_p): Use it.
* cfgloop.h (finite_loop_p): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146821 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.
matz [Sun, 26 Apr 2009 22:13:39 +0000 (22:13 +0000)]
* tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146820 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-pass.h (pass_del_ssa, pass_mark_used_blocks,
matz [Sun, 26 Apr 2009 22:09:50 +0000 (22:09 +0000)]
* tree-pass.h (pass_del_ssa, pass_mark_used_blocks,
pass_free_cfg_annotations, pass_free_datastructures): Remove decls.
* gimple-low.c (mark_blocks_with_used_vars, mark_used_blocks,
pass_mark_used_blocks): Remove.
* tree-optimize.c (pass_free_datastructures,
execute_free_cfg_annotations, pass_free_cfg_annotations): Remove.
* passes.c (init_optimization_passes): Don't call
pass_mark_used_blocks, remove dead code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146819 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-26 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sun, 26 Apr 2009 21:40:47 +0000 (21:40 +0000)]
2009-04-26  H.J. Lu  <hongjiu.lu@intel.com>

* tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.
* tree-ssa-live.h (register_ssa_partition): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146818 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/
matz [Sun, 26 Apr 2009 19:35:04 +0000 (19:35 +0000)]
gcc/
        Expand from SSA.
* builtins.c (fold_builtin_next_arg): Handle SSA names.
* tree-ssa-copyrename.c (rename_ssa_copies): Use ssa_name() directly.
* tree-ssa-coalesce.c (create_outofssa_var_map): Mark only useful
SSA names.
(compare_pairs): Swap cost comparison.
(coalesce_ssa_name): Don't use change_partition_var.
* tree-nrv.c (struct nrv_data): Add modified member.
(finalize_nrv_r): Set it.
(tree_nrv): Use it to update statements.
(pass_nrv): Require PROP_ssa.
* tree-mudflap.c (mf_decl_cache_locals,
mf_build_check_statement_for): Use make_rename_temp.
(pass_mudflap_2): Require PROP_ssa, run ssa update at finish.
* alias.c (find_base_decl): Handle SSA names.
* emit-rtl (set_reg_attrs_for_parm): Make non-static.
(component_ref_for_mem_expr): Don't leak SSA names into RTL.
* rtl.h (set_reg_attrs_for_parm): Declare.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Rename
to "optimized", remove unused locals at finish.
(execute_free_datastructures): Make global, call
delete_tree_cfg_annotations.
(execute_free_cfg_annotations): Don't call
delete_tree_cfg_annotations.

* ssaexpand.h: New file.
* expr.c (toplevel): Include ssaexpand.h.
(expand_assignment): Handle SSA names the same as register
variables.
(expand_expr_real_1): Expand SSA names.
* cfgexpand.c (toplevel): Include ssaexpand.h.
(SA): New global variable.
(gimple_cond_pred_to_tree): Fold TERed comparisons into predicates.
(SSAVAR): New macro.
(set_rtl): New helper function.
(add_stack_var): Deal with SSA names, use set_rtl.
(expand_one_stack_var_at): Likewise.
(expand_one_stack_var): Deal with SSA names.
(stack_var_size_cmp): Use code (SSA_NAME / DECL) as tie breaker
before unique numbers.
(expand_stack_vars): Use set_rtl.
(expand_one_var): Accept SSA names, add asserts for them, feed them
to above subroutines.
(expand_used_vars): Expand all partitions (without default defs),
then only the local decls (ignoring those expanded already).
(expand_gimple_cond): Remove edges when jumpif() expands an
unconditional jump.
(expand_gimple_basic_block): Don't clear EDGE_EXECUTABLE here,
or remove abnormal edges.  Ignore insns setting the LHS of a TERed
SSA name.
(gimple_expand_cfg): Call into rewrite_out_of_ssa, initialize
members of SA; deal with PARM_DECL partitions here; expand
all PHI nodes, free tree datastructures and SA.  Commit instructions
on edges, clear EDGE_EXECUTABLE and remove abnormal edges here.
(pass_expand): Require and destroy PROP_ssa, verify SSA form, flow
info and statements at start, collect garbage at finish.
* tree-ssa-live.h (struct _var_map): Remove partition_to_var member.
(VAR_ANN_PARTITION) Remove.
(change_partition_var): Don't declare.
(partition_to_var): Always return SSA names.
(var_to_partition): Only accept SSA names.
(register_ssa_partition): Only check argument.
* tree-ssa-live.c (init_var_map): Don't allocate partition_to_var
member.
(delete_var_map): Don't free it.
(var_union): Only accept SSA names, simplify.
(partition_view_init): Mark only useful SSA names as used.
(partition_view_fini): Only deal with SSA names.
(change_partition_var): Remove.
(dump_var_map): Use ssa_name instead of partition_to_var member.
* tree-ssa.c (delete_tree_ssa): Don't remove PHI nodes on RTL
basic blocks.
* tree-outof-ssa.c (toplevel): Include ssaexpand.h and expr.h.
(struct _elim_graph): New member const_dests; nodes member vector of
ints.
(set_location_for_edge): New static helper.
(create_temp): Remove.
(insert_partition_copy_on_edge, insert_part_to_rtx_on_edge,
insert_value_copy_on_edge, insert_rtx_to_part_on_edge): New
functions.
(new_elim_graph): Allocate const_dests member.
(clean_elim_graph): Truncate const_dests member.
(delete_elim_graph): Free const_dests member.
(elim_graph_size): Adapt to new type of nodes member.
(elim_graph_add_node): Likewise.
(eliminate_name): Likewise.
(eliminate_build): Don't take basic block argument, deal only with
partition numbers, not variables.
(get_temp_reg): New static helper.
(elim_create): Use it, deal with RTL temporaries instead of trees.
(eliminate_phi): Adjust all calls to new signature.
(assign_vars, replace_use_variable, replace_def_variable): Remove.
(rewrite_trees): Only do checking.
(edge_leader, stmt_list, leader_has_match, leader_match): Remove.
(same_stmt_list_p, identical_copies_p, identical_stmt_lists_p,
init_analyze_edges_for_bb, fini_analyze_edges_for_bb,
contains_tree_r, MAX_STMTS_IN_LATCH,
process_single_block_loop_latch, analyze_edges_for_bb,
perform_edge_inserts): Remove.
(expand_phi_nodes): New global function.
(remove_ssa_form): Take ssaexpand parameter.  Don't call removed
functions, initialize new parameter, remember partitions having a
default def.
(finish_out_of_ssa): New global function.
(rewrite_out_of_ssa): Make global.  Adjust call to remove_ssa_form,
don't reset in_ssa_p here, don't disable TER when mudflap.
(pass_del_ssa): Remove.
* tree-flow.h (struct var_ann_d): Remove out_of_ssa_tag and
partition members.
(execute_free_datastructures): Declare.
* Makefile.in (SSAEXPAND_H): New variable.
(tree-outof-ssa.o, expr.o, cfgexpand.o): Depend on SSAEXPAND_H.
* basic-block.h (commit_one_edge_insertion): Declare.
* passes.c (init_optimization_passes): Move pass_nrv and
pass_mudflap2 before pass_cleanup_cfg_post_optimizing, remove
pass_del_ssa, pass_free_datastructures, pass_free_cfg_annotations.
* cfgrtl.c (commit_one_edge_insertion): Make global, don't declare.
(redirect_branch_edge): Deal with super block when expanding, split
out jump patching itself into ...
(patch_jump_insn): ... here, new static helper.

testsuite/

Expand from SSA.
* gcc.dg/tree-ssa/20030728-1.c: Use -rtl-expand-details dump and
change regexps.
* gcc.target/i386/pr37248-1.c: Modified.
* gcc.target/i386/pr37248-3.c: Modified.
* gcc.target/i386/pr37248-2.c: Modified.
* gnat.dg/aliasing1.adb: Modified.
* gnat.dg/pack9.adb: Modified.
* gnat.dg/aliasing2.adb: Modified.
* gcc.dg/strict-overflow-2.c: Modified.
* gcc.dg/autopar/reduc-1char.c: Modified.
* gcc.dg/autopar/reduc-2char.c: Modified.
* gcc.dg/autopar/reduc-1.c: Modified.
* gcc.dg/autopar/reduc-2.c: Modified.
* gcc.dg/autopar/reduc-3.c: Modified.
* gcc.dg/autopar/reduc-6.c: Modified.
* gcc.dg/autopar/reduc-7.c: Modified.
* gcc.dg/autopar/reduc-8.c: Modified.
* gcc.dg/autopar/reduc-9.c: Modified.
* gcc.dg/autopar/reduc-1short.c: Modified.
* gcc.dg/autopar/reduc-2short.c: Modified.
* gcc.dg/autopar/parallelization-1.c: Modified.
* gcc.dg/strict-overflow-4.c: Modified.
* gcc.dg/strict-overflow-6.c: Modified.
* gcc.dg/gomp/combined-1.c: Modified.
* gcc.dg/no-strict-overflow-1.c: Modified.
* gcc.dg/no-strict-overflow-3.c: Modified.
* gcc.dg/no-strict-overflow-5.c: Modified.
* gcc.dg/tree-ssa/reassoc-13.c: Modified.
* gcc.dg/tree-ssa/pr18134.c: Modified.
* gcc.dg/tree-ssa/20030824-1.c: Modified.
* gcc.dg/tree-ssa/vector-2.c: Modified.
* gcc.dg/tree-ssa/forwprop-9.c: Modified.
* gcc.dg/tree-ssa/loop-21.c: Modified.
* gcc.dg/tree-ssa/20030824-2.c: Modified.
* gcc.dg/tree-ssa/vector-3.c: Modified.
* gcc.dg/tree-ssa/asm-3.c: Modified.
* gcc.dg/tree-ssa/pr23294.c: Modified.
* gcc.dg/tree-ssa/loop-22.c: Modified.
* gcc.dg/tree-ssa/loop-15.c: Modified.
* gcc.dg/tree-ssa/prefetch-4.c: Modified.
* gcc.dg/tree-ssa/pr22051-1.c: Modified.
* gcc.dg/tree-ssa/pr20139.c: Modified.
* gcc.dg/tree-ssa/scev-cast.c: Modified.
* gcc.dg/tree-ssa/pr22051-2.c: Modified.
* gcc.dg/tree-ssa/reassoc-1.c: Modified.
* gcc.dg/tree-ssa/loop-5.c: Modified.
* gcc.dg/tree-ssa/pr19431.c: Modified.
* gcc.dg/tree-ssa/pr32044.c: Modified.
* gcc.dg/tree-ssa/prefetch-7.c: Modified.
* gcc.dg/tree-ssa/loop-19.c: Modified.
* gcc.dg/tree-ssa/loop-28.c: Modified.
* gcc.dg/tree-ssa/ssa-pre-15.c: Modified.
* gcc.dg/tree-ssa/divide-1.c: Modified.
* gcc.dg/tree-ssa/inline-1.c: Modified.
* gcc.dg/tree-ssa/divide-3.c: Modified.
* gcc.dg/tree-ssa/pr30978.c: Modified.
* gcc.dg/tree-ssa/alias-6.c: Modified.
* gcc.dg/tree-ssa/divide-4.c: Modified.
* gcc.dg/tree-ssa/alias-11.c: Modified.
* gcc.dg/no-strict-overflow-7.c: Modified.
* gcc.dg/strict-overflow-1.c: Modified.
* gcc.dg/pr15784-4.c: Modified.
* gcc.dg/pr34263.c: Modified.
* gcc.dg/strict-overflow-3.c: Modified.
* gcc.dg/tree-prof/stringop-1.c: Modified.
* gcc.dg/tree-prof/val-prof-1.c: Modified.
* gcc.dg/tree-prof/val-prof-2.c: Modified.
* gcc.dg/tree-prof/val-prof-3.c: Modified.
* gcc.dg/tree-prof/val-prof-4.c: Modified.
* gcc.dg/no-strict-overflow-2.c: Modified.
* gcc.dg/no-strict-overflow-4.c: Modified.
* gcc.dg/no-strict-overflow-6.c: Modified.
* g++.dg/tree-ssa/pr27090.C: Modified.
* g++.dg/tree-ssa/tmmti-2.C: Modified.
* g++.dg/tree-ssa/ptrmemfield.C: Modified.
* g++.dg/tree-ssa/pr19807.C: Modified.
* g++.dg/opt/pr30965.C: Modified.
* g++.dg/init/new17.C: Modified.
* gfortran.dg/whole_file_6.f90: Modified.
* gfortran.dg/whole_file_5.f90: Modified.
* gfortran.dg/reassoc_1.f90: Modified.
* gfortran.dg/reassoc_3.f90: Modified.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146817 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 26 Apr 2009 19:27:50 +0000 (19:27 +0000)]
2009-04-26  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/39893
* gfortran.dg/assumed_charlen_dummy.f90: New Test.

2009-04-26  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/39893
fortran/data.c (gfc_assign_data_value): If the lvalue is an
assumed character length entity in a data statement, then
return FAILURE to prevent segmentation fault.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146816 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
matz [Sun, 26 Apr 2009 19:24:16 +0000 (19:24 +0000)]
* tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
beyond num_ssa_names.
* tree-ssa-ter.c (free_temp_expr_table): Likewise.
* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146815 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR inline-asm/39543
jakub [Sun, 26 Apr 2009 18:56:14 +0000 (18:56 +0000)]
PR inline-asm/39543
* fwprop.c (forward_propagate_asm): New function.
(forward_propagate_and_simplify): Propagate also into __asm, if it
doesn't increase the number of referenced registers.

* gcc.target/i386/pr39543-1.c: New test.
* gcc.target/i386/pr39543-2.c: New test.
* gcc.target/i386/pr39543-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146813 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c/39889
jakub [Sun, 26 Apr 2009 18:51:07 +0000 (18:51 +0000)]
PR c/39889
* stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.

* gcc.dg/Wunused-value-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146811 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
jakub [Sun, 26 Apr 2009 18:47:54 +0000 (18:47 +0000)]
* tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
note_nonlocal_vla_type for nonlocal VLAs.
(note_nonlocal_vla_type, note_nonlocal_block_vlas,
contains_remapped_vars, remap_vla_decls): New functions.
(convert_nonlocal_reference_stmt): If not optimizing, call
note_nonlocal_block_vlas on GIMPLE_BIND block vars.
(nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified
if it wasn't found in var_map.
(finalize_nesting_tree_1): Call remap_vla_decls.  If outermost
GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain
to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling
declare_vars.
* gimplify.c (nonlocal_vlas): New variable.
(gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local
referenced VLAs.
(gimplify_body): Create and destroy nonlocal_vlas.

* trans-decl.c: Include pointer-set.h.
(nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables.
(gfc_nonlocal_dummy_array_decl): New function.
(gfc_get_symbol_decl): Call it for non-local dummy args with saved
descriptor.
(gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed.
(gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset},
chain it to outermost block's vars, destroy it afterwards.
* Make-lang.in (trans-decl.o): Depend on pointer-set.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146810 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * dwarf2out.c (loc_descr_plus_const): New function.
jakub [Sun, 26 Apr 2009 18:45:41 +0000 (18:45 +0000)]
* dwarf2out.c (loc_descr_plus_const): New function.
(build_cfa_aligned_loc, tls_mem_loc_descriptor,
mem_loc_descriptor, loc_descriptor_from_tree_1,
descr_info_loc, gen_variable_die): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146809 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree.h (DECL_BY_REFERENCE): Note that it is also valid for
jakub [Sun, 26 Apr 2009 18:44:59 +0000 (18:44 +0000)]
* tree.h (DECL_BY_REFERENCE): Note that it is also valid for
!TREE_STATIC VAR_DECLs.
* dwarf2out.c (loc_by_reference, gen_decl_die): Handle
DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
(gen_variable_die): Likewise.  Don't look at TREE_PRIVATE if
DECL_BY_REFERENCE is valid.
* dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
* tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
Copy DECL_BY_REFERENCE.
(struct nesting_copy_body_data): New type.
(nesting_copy_decl): New function.
(finalize_nesting_tree_1): Remap types of debug_var_chain variables,
if they have variable length.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146808 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
matz [Sun, 26 Apr 2009 17:11:22 +0000 (17:11 +0000)]
* tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
mark new temporaries for renaming

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146807 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c/39581
jsm28 [Sun, 26 Apr 2009 17:00:04 +0000 (17:00 +0000)]
PR c/39581
* c-decl.c (global_bindings_p): Return negative value.
(c_variable_size): New.  Based on variable_size from
stor-layout.c.
(grokdeclarator): Call c_variable_size not variable_size.

testsuite:
* gcc.dg/c99-const-expr-14.c, gcc.dg/gnu99-const-expr-4.c,
gcc.dg/vla-21.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146806 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/i386/i386.c (print_operand) ['z']: Fix typo.
uros [Sun, 26 Apr 2009 16:50:24 +0000 (16:50 +0000)]
* config/i386/i386.c (print_operand) ['z']: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146804 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-26 Matthias Klose <doko@ubuntu.com>
doko [Sun, 26 Apr 2009 14:11:58 +0000 (14:11 +0000)]
2009-04-26  Matthias Klose <doko@ubuntu.com>

        * contrib/aot-compile.in: Print diagnostics for malformed or invalid
        class files.
        * contrib/generate-cacerts.pl.in: New.
        * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146802 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-26 Kai Tietz <kai.tietz@onevision.com>
ktietz [Sun, 26 Apr 2009 13:50:12 +0000 (13:50 +0000)]
2009-04-26  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
Redefine it to just use mingw/include.
(ASM_SPEC): Rules for -m32 and -m64.
(LINK_SPEC): Use Likewise.
(SPEC_32): New define.
(SPEC_64): Likewise.
(SUB_LINK_SPEC): Likewise.
(MULTILIB_DEFAULTS): New define.
* config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
Add multilib options.
(MULTILIB_DIRNAMES): Likewise.
(MULTILIB_OSDIRNAMES): Likewise.
(LIBGCC): Likewise.
(INSTALL_LIBGCC): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146801 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c/39556
jsm28 [Sun, 26 Apr 2009 13:40:19 +0000 (13:40 +0000)]
PR c/39556
* c-tree.h (enum c_inline_static_type): New.
(record_inline_static): Declare.
* c-decl.c (struct c_inline_static, c_inline_statics,
record_inline_static, check_inline_statics): New.
(pop_file_scope): Call check_inline_statics.
(start_decl): Call record_inline_static instead of pedwarning
directly for static in inline function.
* c-typeck.c (build_external_ref): Call record_inline_static
instead of pedwarning directly for static referenced in inline
function.

testsuite:
* gcc.dg/inline-34.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146800 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
steven [Sun, 26 Apr 2009 12:28:53 +0000 (12:28 +0000)]
* df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
not new but only being rescanned.
* gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
alloc_reg_set_mem, free_reg_set_mem, record_one_set,
record_set_info, compute_set, grealloc): Remove.
(recompute_all_luids): New function.
(gcse_main): Don't compute sets, and don't do related memory
allocations/free-ing.  If something changed before the end of the
pass, update LUIDs using recompute_all_luids.
(alloc_gcse_mem): Don't compute LUIDs.  Don't allocate reg_set memory.
(free_gcse_mem): Don't free it either.
(oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
Use the df insn LUIDs.
(load_killed_in_block): Likewise.
(compute_hash_table_work): Don't compute reg_set_in_block.
(compute_transp): Use DF_REG_DEF_CHAINs.
(local_cprop_pass): Don't use compute_sets and related functions.
(one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
Use get_max_uid() instead of max_cuid.
(insert_insn_end_basic_block, pre_insert_copy_insn,
update_ld_motion_stores): Don't try to
keep reg_set tables up to date.
(pre_insert_copies): Use df insn LUIDs.
(sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
(reg_set_info): Don't use extra bitmap argument.
(compute_store_table): Don't compute reg_set_in_block.  Use DF scan
information to compute regs_set_in_block.
(free_store_memory, store_motion): Don't nullify reg_set_in_block.
(bypass_jumps): Don't use compute_sets and friends.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146799 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 26 Apr 2009 10:12:08 +0000 (10:12 +0000)]
2009-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

Revert the last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146796 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/
rwild [Sun, 26 Apr 2009 08:18:48 +0000 (08:18 +0000)]
gcc/
PR testsuite/39710
* opts.c (undocumented_msg): Do not leave blank even with
ENABLE_CHECKING.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146795 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoUpdate copyright year. Committed without a ChangeLog entry.
ian [Sun, 26 Apr 2009 03:51:54 +0000 (03:51 +0000)]
Update copyright year.  Committed without a ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146794 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* Makefile.in (needed-list): Target removed (not used in GCC
dj [Sun, 26 Apr 2009 02:23:29 +0000 (02:23 +0000)]
* Makefile.in (needed-list): Target removed (not used in GCC
3.0 and later).  All references deleted.
(mostlyclean): Remove references to needed.awk and needed2.awk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146793 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sun, 26 Apr 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146792 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * c-decl.c (build_enumerator): Allow values folding to integer
jsm28 [Sat, 25 Apr 2009 23:30:10 +0000 (23:30 +0000)]
* c-decl.c (build_enumerator): Allow values folding to integer
constants but not integer constant expressions with a pedwarn if
pedantic.

testsuite:
* gcc.dg/enum-const-1.c, gcc.dg/enum-const-2.c,
gcc.dg/enum-const-3.c: New tests.
* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c: Use
-pedantic-errors.  Update expected diagnostics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146789 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c/39582
jsm28 [Sat, 25 Apr 2009 21:19:09 +0000 (21:19 +0000)]
PR c/39582
* c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
type is an integer constant.

testsuite:
* gcc.dg/vla-20.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146787 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Sat, 25 Apr 2009 20:14:27 +0000 (20:14 +0000)]
2009-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
Replace global lock object with local locks on global mutex.
* src/mutex.cc: Likewise.
* config/abi/pre/gnu.ver: Adjust.
* testsuite/30_threads/call_once/call_once2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146785 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/39897
uros [Sat, 25 Apr 2009 20:11:01 +0000 (20:11 +0000)]
PR target/39897
* config/i386/i386.c (print_operand) ['z']: Revert handling of
HImode operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146784 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * test_summary: Only include LAST_UPDATED if it exists.
gerald [Sat, 25 Apr 2009 20:03:12 +0000 (20:03 +0000)]
* test_summary: Only include LAST_UPDATED if it exists.
Complete copyright years.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146783 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 25 Apr 2009 19:02:17 +0000 (19:02 +0000)]
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146781 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 25 Apr 2009 19:00:52 +0000 (19:00 +0000)]
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146780 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix typo in comment in previous commit.
jsm28 [Sat, 25 Apr 2009 18:59:20 +0000 (18:59 +0000)]
Fix typo in comment in previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146779 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c/39564
jsm28 [Sat, 25 Apr 2009 18:55:50 +0000 (18:55 +0000)]
PR c/39564
* c-decl.c (grokdeclarator): Diagnose declarations of functions
with variably modified return type and no storage class
specifiers, except for the case of nested functions.  Distinguish
extern declarations of functions with variably modified return
types from those of objects with variably modified types.

testsuite:
* gcc.dg/vla-19.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146778 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agolibcpp:
jsm28 [Sat, 25 Apr 2009 18:46:03 +0000 (18:46 +0000)]
libcpp:
PR preprocessor/39559
* expr.c (cpp_interpret_integer): Use a pedwarn for decimal
constants larger than intmax_t in C99 mode.

gcc/testsuite:
* gcc.dg/c99-intconst-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146777 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree.c (list_equal_p): New function.
hubicka [Sat, 25 Apr 2009 18:27:19 +0000 (18:27 +0000)]
* tree.c (list_equal_p): New function.
* tree.h (list_equal_p): Declare.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): New.
* tree-eh.c (make_eh_edge): EH edges are not abnormal.
(redirect_eh_edge): New function.
(make_eh_edge_update_phi): EH edges are not abnormal.
* except.c: Include tree-flow.h.
(list_match): New function.
(eh_region_replaceable_by_p): New function.
(replace_region): New function.
(hash_type_list): New function.
(hash_eh_region): New function.
(eh_regions_equal_p): New function.
(merge_peers): New function.
(remove_unreachable_regions): Verify EH tree when checking;
merge peers.
(copy_eh_region_1): New function.
(copy_eh_region): New function.
(push_reachable_handler): New function.
(build_post_landing_pads, dw2_build_landing_pads): Be ready for
regions without label but with live RESX.
* except.h (redirect_eh_edge_to_label): New.
* tree-flow.h (redirect_eh_edge): New.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): Remove.
* Makefile.in (except.o): Add dependency on tree-flow.h
* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
* basic-block.h (edge, const_edge, basic_block, const_basic_block):
Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146776 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR bootstrap/39645
ebotcazou [Sat, 25 Apr 2009 13:32:43 +0000 (13:32 +0000)]
PR bootstrap/39645
* config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
on the destination of memcpy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146772 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
ebotcazou [Sat, 25 Apr 2009 12:24:08 +0000 (12:24 +0000)]
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
(POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146769 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
ebotcazou [Sat, 25 Apr 2009 10:38:24 +0000 (10:38 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
back kludge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146766 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-25 Paolo Bonzini <bonzini@gnu.org>
bonzini [Sat, 25 Apr 2009 10:20:58 +0000 (10:20 +0000)]
2009-04-25  Paolo Bonzini  <bonzini@gnu.org>

* doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P,
REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146765 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
hubicka [Sat, 25 Apr 2009 09:02:05 +0000 (09:02 +0000)]
* tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
(tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
to be reached by different label than left.
(update_eh_edges): Update comment; remove edge_to_remove if possible
and return true if suceeded.
(cleanup_empty_eh): Accept sharing map; handle shared regions.
(cleanup_eh): Compute sharing map.
* except.c (remove_eh_handler_and_replace): Add argument if we should
update regions.
(remove_unreachable_regions): Update for label sharing.
(label_to_region_map): Likewise.
(get_next_region_sharing_label): New function.
(remove_eh_handler_and_replace): Add update_catch_try parameter; update
prev_try pointers.
(remove_eh_handler): Update.
(remove_eh_region_and_replace_by_outer_of): New function.
* except.h (struct eh_region): Add next_region_sharing_label.
(remove_eh_region_and_replace_by_outer_of,
get_next_region_sharing_label): Declare.
* tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.

* tree-cfg.c (split_critical_edges): Split also edges where we can't
insert code even if they are not critical.

* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
(gimple_can_remove_branch_p): EH edges won't remove branch by
redirection.
* tree-inline.c (update_ssa_across_abnormal_edges): Do handle
updating of non-abnormal EH edges.
* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
(gimple_can_remove_branch_p): EH edges are unremovable by redirection.
(split_critical_edges): Split also edges where emitting code on them
will lead to splitting later.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146763 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-25 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 25 Apr 2009 08:11:48 +0000 (08:11 +0000)]
2009-04-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39688
* decl.c (gfc_match_import): Use 'sym->name' instead of 'name'.
They differ if the symbol has been use-renamed.

2009-04-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39688
* gfortran.dg/import7.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146762 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/39590
uros [Sat, 25 Apr 2009 08:10:51 +0000 (08:10 +0000)]
PR target/39590
* configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether
the configured assembler supports fildq and fistpq mnemonics.
(HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS.
* configure: Regenerated.
* config.in: Ditto.

* config/i386/i386.c (print_operand): Handle 'Z'.
['z']: Remove handling of special fild/fist suffixes.
(output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn.
* config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output
suffix of fild insn.
(*floatsi<mode>2_vector_mixed): Ditto.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto.
* config/i386/gas.h (GAS_MNEMONICS): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146761 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Matthias Klose <doko@ubuntu.com>
doko [Sat, 25 Apr 2009 08:04:38 +0000 (08:04 +0000)]
2009-04-24  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Create missing directory gnu/java/security/jce/prng.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146759 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
bje [Sat, 25 Apr 2009 04:51:34 +0000 (04:51 +0000)]
* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
the source of a set operation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146757 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * target.h (struct gcc_target): Add case_values_threshold field.
aesok [Sat, 25 Apr 2009 04:34:27 +0000 (04:34 +0000)]
* target.h (struct gcc_target): Add case_values_threshold field.
* target-def.h (TARGET_CASE_VALUES_THRESHOLD): New.
(TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD.
* targhooks.c (default_case_values_threshold): New function.
* targhooks.h (default_case_values_threshold): Declare function.
* stmt.c (expand_case): Use case_values_threshold target hook.
* expr.h (case_values_threshold): Remove declartation.
* expr.c (case_values_threshold): Remove function.
* doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation.

* config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro.
* config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
(avr_case_values_threshold): Declare as static.
* config/avr/avr-protos.h (avr_case_values_threshold): Remove.

* config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro.
* config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
(mn10300_case_values_threshold): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146756 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR bootstrap/39739
ghazi [Sat, 25 Apr 2009 03:24:17 +0000 (03:24 +0000)]
PR bootstrap/39739
* configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST.
* Makefile.def (module=mpfr): Use extra_mpfr_configure_flags.

* configure, Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146754 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 25 Apr 2009 00:55:51 +0000 (00:55 +0000)]
2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>

* ira.c (setup_cover_and_important_classes): Add enum cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146753 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sat, 25 Apr 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146752 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 24 Apr 2009 23:35:16 +0000 (23:35 +0000)]
2009-04-24  Vladimir Makarov  <vmakarov@redhat.com>

* genpreds.c (write_enum_constraint_num): Output definition of
CONSTRAINT_NUM_DEFINED_P macro.
* ira.c (setup_cover_and_important_classes): Use
CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146748 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
dj [Fri, 24 Apr 2009 23:06:14 +0000 (23:06 +0000)]
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
__SH2A_SINGLE_ONLY__ also.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146747 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 24 Apr 2009 20:39:16 +0000 (20:39 +0000)]
2009-04-24  Benjamin Kosnik  <bkoz@redhat.com>

* xml/authors.xml: Add space.
* xml/faq.xml: Update links.
* xml/manual/intro.xml: Same.
* xml/manual/abi.xml: Update.
* xml/manual/appendix_contributing.xml: Fix typo.
* xml/manual/status_cxxtr1.xml: Update links.
* xml/manual/status_cxx1998.xml: Same.
* xml/manual/status_cxx200x.xml: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146746 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 24 Apr 2009 20:29:06 +0000 (20:29 +0000)]
2009-04-24  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/vrp48.c: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146745 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2008-04-24 Doug Kwan <dougkwan@google.com>
dougkwan [Fri, 24 Apr 2009 20:25:02 +0000 (20:25 +0000)]
2008-04-24  Doug Kwan  <dougkwan@google.com>

        * g++.dg/init/copy7.C: Only abort in memcpy if source and
        destination are the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146744 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/ia64/ia64.md (movfs_internal): Allow flt constants.
sje [Fri, 24 Apr 2009 19:35:52 +0000 (19:35 +0000)]
* config/ia64/ia64.md (movfs_internal): Allow flt constants.
(movdf_internal): Ditto.
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow
SFmode and DFmode constants.
(ia64_print_operand): Add 'G' format for printing
floating point constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146743 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 24 Apr 2009 19:10:55 +0000 (19:10 +0000)]
2009-04-24  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (extract_range_from_binary_expr): Handle overflow
from unsigned additions.

* gcc.dg/tree-ssa/vrp48.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146742 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * c-typeck.c (set_init_index): Allow array designators that are
jsm28 [Fri, 24 Apr 2009 17:24:32 +0000 (17:24 +0000)]
* c-typeck.c (set_init_index): Allow array designators that are
not integer constant expressions with a pedwarn if pedantic.

testsuite:
* gcc.dg/array-const-1.c, gcc.dg/array-const-2.c,
gcc.dg/array-const-3.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146741 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoCorrect filenames.
hjl [Fri, 24 Apr 2009 16:47:20 +0000 (16:47 +0000)]
Correct filenames.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146740 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoAdd missing ChangeLog entries for revision 146607.
hjl [Fri, 24 Apr 2009 16:46:13 +0000 (16:46 +0000)]
Add missing ChangeLog entries for revision 146607.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146739 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
bernds [Fri, 24 Apr 2009 16:19:36 +0000 (16:19 +0000)]
* simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
zero if no overlap in nonzero bits between the operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146738 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix typo
ebotcazou [Fri, 24 Apr 2009 16:12:48 +0000 (16:12 +0000)]
Fix typo

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146737 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/:
ian [Fri, 24 Apr 2009 15:31:38 +0000 (15:31 +0000)]
gcc/:
* combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
(record_dead_and_set_regs): Likewise.
* df.h (struct df_mw_hardreg): Change flags field to int.
(struct df_base_ref): Likewise.
(struct df): Change changeable_flags field to int.
* df-scan.c (df_defs_record): Change clobber_flags to int.
* dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
constants rather than #define macros.
(enum dwarf_attribute, enum dwarf_location_atom): Likewise.
(enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
(enum dwarf_calling_convention): Likewise.
(enum dwarf_line_number_x_ops): Likewise.
(enum dwarf_call_frame_info): Likewise.
(enum dwarf_source_language): Likewise.
* dwarf2out.c (int_loc_descriptor): Add cast to enum type.
(add_calling_convention_attribute): Likewise.
* fold-const.c (fold_undefer_overflow_warnings): Add cast to enum
type.
(combine_comparisons): Change compcode to int.  Add cast to enum
type.
* genrecog.c (maybe_both_true_2): Change c to int.
(write_switch): Likewise.  Add cast to enum type.
* gimplify.c (gimplify_omp_for): Handle return values from
gimplify_expr using MIN rather than bitwise or.
(gimplify_expr): Add cast to enum type.
* ipa-prop.c (update_jump_functions_after_inlining): Change
IPA_BOTTOM to IPA_JF_UNKNOWN.
* ira.c (setup_class_subset_and_memory_move_costs): Change mode to
int.  Add casts to enum type.
(setup_cover_and_important_classes): Change cl to int.  Add casts
to enum type.
(setup_class_translate): Change cl and mode to int.
(ira_init_once): Change mode to int.
(free_register_move_costs): Likewise.
(setup_prohibited_mode_move_regs): Add casts to enum type.
* langhooks.c (add_builtin_function_common): Rework assertion that
value fits bitfield.
* mcf.c (add_fixup_edge): Change type parameter to edge_type.
* omega.c (omega_do_elimination): Avoid math on enum types.
* optabs.c (expand_vec_shift_expr): Remove casts to int.
* opts.c (set_debug_level): Change 2 to enum constant.  Use new
int local to handle integral_argment value.
* regmove.c (try_auto_increment): Change PUT_MODE to
PUT_REG_NOTE_KIND.
* reload.c (push_secondary_reload): Add casts to enum type.
(secondary_reload_class, find_valid_class): Likewise.
* reload1.c (emit_input_reload_insns): Likewise.
* rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
* sel-sched.c (init_hard_regs_data): Change cur_mode to int.
* sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
constant.
* tree.c (build_common_builtin_nodes): Add casts to enum type.
* tree-complex.c (complex_lattice_t): Typedef to int rather than
enum type.
(expand_complex_libcall): Add casts to enum type.
* tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
* tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
with ERROR_MARK, not NUM_TREE_CODES.
(vect_create_epilog_for_reduction): Likewise.
(vectorizable_reduction): Don't initialize epiloc_reduc_code.
When not using it, set it to ERROR_MARK rather than
NUM_TREE_CODES.
* tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
enum machine_mode.
* tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
vect_unused_in_loop.  Change 0 to loop_vect.
* tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum
type.
* var-tracking.c (get_init_value): Change return type to enum
var_init_status.
* vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
* config/arm/arm.c (fp_model_for_fpu): Change to array to enum
arm_fp_model.
(arm_override_options): Add casts to enum type.
(arm_emit_tls_decoration): Likewise.
* config/i386/i386.c (ix86_function_specific_restore): Add casts
to enum type.
* config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
* config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
* config/rs6000/rs6000.c (rs6000_override_options): Add casts to
enum type.
* config/s390/s390.c (code_for_builtin_64): Change to array of
enum insn_code.
(code_for_builtin_31): Likewise.
(s390_expand_builtin): Change code_for_builtin to enum insn_code
const *.
* config/sparc/sparc.c (sparc_override_options): Change value
field in struct code_model to enum cmodel.  In initializer change
0 to NULL and add cast to enum type.

* c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
Change all callers.  Issue a -Wc++-compat warning using
lhs_origtype if necessary.
(convert_for_assignment): Issue -Wc++-compat warnings about
invalid conversions to enum type on assignment.
* c-common.h (build_modify_expr): Update declaration.

gcc/cp/:
* call.c (build_temp): Change 0 to enum constant.
* cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum
type.
* cp-gimplify.c (cp_gimplify_expr): Add cast to enum type.
* decl2.c (constrain_visibility): Likewise.
* parser.c (cp_lexer_get_preprocessor_token): Likewise.
(cp_parser_flags): Typedef to int rather than enum type.
(cp_parser_expression_stack_entry): Change prec field to enum
cp_parser_prec.

* typeck.c (build_modify_expr): Add lhs_origtype parameter.
Change all callers.

gcc/fortran/:
* gfortran.h (enum gfc_symbol_type): New named enum type, broken
out of struct gfc_symbol.
(struct gfc_symbol): Use enum gfc_symbol_type.
(enum gfc_array_ref_dimen_type): New named enum type, broken out
of struct gfc_array_ref).
(struct gfc_array_ref): Use enum gfc_array_ref_dimen_type.
(mod_pointee_as): Update declaration.
* decl.c (add_global_entry): Change type to enum gfc_symbol_type.
(gfc_mod_pointee_as): Change return type to "match".
* module.c (mio_array_ref): Add cast to enum type.
(mio_symbol): Likewise.
* resolve.c (resolve_global_procedure): Change type to enum
gfc_symbol_type.
* trans-io.c (gfc_build_st_parameter): Change type to unsigned
int.

gcc/java/:
* jcf-parse.c (handle_constant): Add cast to enum type.

gcc/objc/:
* objc-act.c (get_super_receiver): Update calls to
build_modify_expr to pass new argument.

gcc/testsuite/:
* gcc.dg/Wcxx-compat-4.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146735 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/iq2000/iq2000.c (function_arg): Handle TImode values.
nickc [Fri, 24 Apr 2009 15:25:40 +0000 (15:25 +0000)]
    * config/iq2000/iq2000.c (function_arg): Handle TImode values.
        (function_arg_advance): Likewise.
        * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the
        5th alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146734 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Daniel Kraft <d@domob.eu>
domob [Fri, 24 Apr 2009 15:20:23 +0000 (15:20 +0000)]
2009-04-24  Daniel Kraft  <d@domob.eu>

* gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
(struct gfc_symtree): Moved `typebound' member inside union.
(struct gfc_namespace): Add `tb_sym_root' as new symtree to sort out
type-bound procedures there.
(gfc_get_tbp_symtree): New procedure.
* symbol.c (tentative_tbp_list): New global.
(gfc_get_namespace): NULL new `tb_sym_root' member.
(gfc_new_symtree): Removed initialization of `typebound' member.
(gfc_undo_symbols): Process list of tentative tbp's.
(gfc_commit_symbols): Ditto.
(free_tb_tree): New method.
(gfc_free_namespace): Call it.
(gfc_get_typebound_proc): New method.
(gfc_get_tbp_symtree): New method.
(gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree
and gfc_namespace with regards to tbp's.
* dump-parse-tree.c (show_typebound): Ditto.
* primary.c (gfc_match_varspec): Ditto.  Don't reference tbp-symbol
as it isn't a symbol any longer.
* module.c (mio_typebound_symtree): Adapt to changes.
(mio_typebound_proc): Ditto, create symtrees using `gfc_get_tbp_symtree'
rather than `gfc_get_sym_tree'.
(mio_f2k_derived): Ditto.
* decl.c (match_procedure_in_type): Ditto.
(gfc_match_generic): Ditto.  Don't reference tbp-symbol.
* resolve.c (check_typebound_override): Adapt to changes.
(resolve_typebound_generic): Ditto.
(resolve_typebound_procedures): Ditto.
(ensure_not_abstract_walker): Ditto.
(ensure_not_abstract): Ditto.
(resolve_typebound_procedure): Ditto, ignore erraneous symbols (for
instance, through removed tentative ones).
* gfc-internals.texi (Type-bound procedures): Document changes.

2009-04-24  Daniel Kraft  <d@domob.eu>

* gfortran.dg/typebound_generic_1.f03: Change so that no error is
expected on already erraneous symbol (renamed to fresh one).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146733 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Robert Dewar <dewar@adacore.com>
charlet [Fri, 24 Apr 2009 14:56:55 +0000 (14:56 +0000)]
2009-04-24  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
clean.adb: Minor reformatting.
Minor code reorganization and message improvement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146732 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 24 Apr 2009 14:53:19 +0000 (14:53 +0000)]
2009-04-24  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
(Alternate_Languages): now implemented as a malloc-ed list rather
than through a table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146731 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Fri, 24 Apr 2009 14:47:33 +0000 (14:47 +0000)]
2009-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/constraints.md ('I', 'J'): Fix condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146729 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 24 Apr 2009 14:47:29 +0000 (14:47 +0000)]
2009-04-24  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb (Static_Concatenation): Simplify predicate to make it
accurately handle cases such as "lit" & "lit" and
"lit" & static_string_constant

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146728 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 24 Apr 2009 14:35:21 +0000 (14:35 +0000)]
2009-04-24  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
removed. Lists of projects are now implemented via standard malloc
rather than through the table.

2009-04-24  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb: Minor reformatting

* g-trasym.adb: Minor reformatting

* exp_ch6.adb: Minor reformatting

2009-04-24  Robert Dewar  <dewar@adacore.com>

* layout.adb (Layout_Type): For packed array type, copy unset
size/alignment fields from the referenced Packed_Array_Type.

2009-04-24  Bob Duff  <duff@adacore.com>

* lib-load.adb (Make_Instance_Unit): Revert previous change, no
longer needed after sem_ch12 changes.

* sem.adb (Walk_Library_Items): Include with's in some debugging
printouts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146727 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoMinor reformatting.
charlet [Fri, 24 Apr 2009 14:30:39 +0000 (14:30 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146726 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 24 Apr 2009 14:30:06 +0000 (14:30 +0000)]
2009-04-24  Emmanuel Briot  <briot@adacore.com>

* prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
only ever using the Project field.

2009-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
Body_Required on the generated compilation node. The new node is linked
to its body, but both share the same file, so we do not set this flag
on the new unit so as not to create a spurious dependency on a
non-existent body in the ali file for the instance.

2009-04-24  Robert Dewar  <dewar@adacore.com>

* make.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146725 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 24 Apr 2009 13:59:23 +0000 (13:59 +0000)]
2009-04-24  Emmanuel Briot  <briot@adacore.com>

* prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
Add_Source): merge some code between those. In particular change where
file normalization is done to avoid a few extra calls to
Canonicalize_File_Name. This also removes the need for passing
Current_Dir in a number of subprograms.

2009-04-24  Bob Duff  <duff@adacore.com>

* lib-load.adb (Make_Instance_Unit): In the case where In_Main is
False, assign the correct unit to the Cunit field of the new table
entry. We want the spec unit, not the body unit.

* rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
interface for these.
(Maybe_Add_With): Check whether we're trying to a with on the current
unit, and avoid creating such directly self-referential with clauses.
(Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
[[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
and matches existing comments in the spec.

* sem.adb (Walk_Library_Items): Add various special cases to make the
assertions pass.

* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
instead of Parent (N), for uniformity.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146724 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago(pragma Source_File_Name): add missing documentation for the Index
charlet [Fri, 24 Apr 2009 13:49:15 +0000 (13:49 +0000)]
(pragma Source_File_Name): add missing documentation for the Index
 argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146723 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Robert Dewar <dewar@adacore.com>
charlet [Fri, 24 Apr 2009 13:48:25 +0000 (13:48 +0000)]
2009-04-24  Robert Dewar  <dewar@adacore.com>

* errout.ads: Minor reformatting

2009-04-24  Emmanuel Briot  <briot@adacore.com>

* gnat_ugn.texi (Library Projects): add documentation on gnatmake's
behavior when the project includes sources from multiple languages

2009-04-24  Vincent Celier  <celier@adacore.com>

* prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
is a language other than Ada declared.

* makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
Imported_First set to True.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146722 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gengtype-parse.c (parse_error): Add newline after message.
dnovillo [Fri, 24 Apr 2009 13:46:47 +0000 (13:46 +0000)]
* gengtype-parse.c (parse_error): Add newline after message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146721 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 24 Apr 2009 13:31:46 +0000 (13:31 +0000)]
2009-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: additional optimization to inhibit creation of
redundant transient scopes.

2009-04-24  Bob Duff  <duff@adacore.com>

* rtsfind.ads: Minor comment fix

2009-04-24  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
Get_Path_Name_And_Record_Ada_Sources): merged, since these were
basically doing the same work (for explicit or implicit sources).
(Find_Explicit_Sources): renamed to Find_Sources to better reflect its
role. Rewritten to share some code (testing that all explicit sources
have been found) between ada_only and multi_language modes.

2009-04-24  Jerome Lambourg  <lambourg@adacore.com>

* sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
for CLI imported types.
(Analyze_Pragma): Allow CIL or Java imported functions returning
access-to-subprogram types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146720 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 24 Apr 2009 13:25:35 +0000 (13:25 +0000)]
2009-04-24  Emmanuel Briot  <briot@adacore.com>

* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
(Project_Data.Dir_Path): field removed, since it can be computed
directly from .Directory, and is needed only once when processing the
project is buildgpr.adb or make.adb

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146719 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoMinor reformatting.
charlet [Fri, 24 Apr 2009 13:23:31 +0000 (13:23 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146718 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Robert Dewar <dewar@adacore.com>
charlet [Fri, 24 Apr 2009 13:22:53 +0000 (13:22 +0000)]
2009-04-24  Robert Dewar  <dewar@adacore.com>

* prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
rtsfind.adb: Minor reformatting.
Minor code reorganization

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146717 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
hjl [Fri, 24 Apr 2009 13:22:20 +0000 (13:22 +0000)]
2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/sse.md (avxmodesuffixs): Removed.
(*avx_pinsr<avxmodesuffixs>): Renamed to ...
(*avx_pinsr<ssevecsize>): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146716 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 24 Apr 2009 13:15:23 +0000 (13:15 +0000)]
2009-04-24  Arnaud Charlet  <charlet@adacore.com>

* mlib-prj.adb: Use friendlier english identifier.

* gnatcmd.adb, make.adb: Use better english identifiers.

2009-04-24  Robert Dewar  <dewar@adacore.com>

* clean.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146715 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-04-24 Robert Dewar <dewar@adacore.com>
charlet [Fri, 24 Apr 2009 13:14:22 +0000 (13:14 +0000)]
2009-04-24  Robert Dewar  <dewar@adacore.com>

* einfo.adb (OK_To_Rename): New flag

* einfo.ads (OK_To_Rename): New flag

* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
OK_To_Rename set.

* exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename

* sem_ch7.adb (Uninstall_Declarations): Allow for renames from
OK_To_Rename.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146714 138bc75d-0d04-0410-961f-82ee72b054a4