gcc.git
15 years agore PR bootstrap/40027 (i686-pc-solaris2.10 bootstrap fails using Sun ld)
Rainer Orth [Mon, 25 May 2009 12:12:08 +0000 (12:12 +0000)]
re PR bootstrap/40027 (i686-pc-solaris2.10 bootstrap fails using Sun ld)

PR bootstrap/40027
* config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
* config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.

From-SVN: r147845

15 years agore PR tree-optimization/40238 (ICE in gimple_verify_flow_info, at tree-cfg.c:4603)
Ira Rosen [Mon, 25 May 2009 07:56:32 +0000 (07:56 +0000)]
re PR tree-optimization/40238 (ICE in gimple_verify_flow_info, at tree-cfg.c:4603)

PR tree-optimization/40238
* tree-vect-stmts.c (vect_init_vector): Insert initialization
statements after basic block's labels.
* tree-vect-slp.c (vect_slp_transform_bb): Call destroy_bb_vec_info()
to free the allocated memory.

From-SVN: r147844

15 years agoDominique Dhumieres
Jerry DeLisle [Mon, 25 May 2009 03:07:00 +0000 (03:07 +0000)]
Dominique Dhumieres

2009-05-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Dominique Dhumieres

PR fortran/35732
PR fortran/39872
* trans-array.c (gfc_conv_ss_startstride): Add one to index.
* gfortran.dg/bounds_check_fail_3.f90: New test.
* gfortran.dg/bounds_check_fail_4.f90: New test.
* gfortran.dg/bounds_check_14.f90: Update test.
* gfortran.dg/bound_4.f90: Update test.

From-SVN: r147842

15 years agoDaily bump.
GCC Administrator [Mon, 25 May 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147840

15 years agosh.c (sh_set_return_address): Mark store of return address with a USE.
Kaz Kojima [Sun, 24 May 2009 22:06:17 +0000 (22:06 +0000)]
sh.c (sh_set_return_address): Mark store of return address with a USE.

* gcc/config/sh/sh.c (sh_set_return_address): Mark store of
return address with a USE.

From-SVN: r147836

15 years agore PR tree-optimization/40233 (Test failures with "alignment of array elements is...
Richard Guenther [Sun, 24 May 2009 16:12:58 +0000 (16:12 +0000)]
re PR tree-optimization/40233 (Test failures with "alignment of array elements is greater than element size")

2009-05-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/40233
* tree.c (make_vector_type): Build the TYPE_DEBUG_REPRESENTATION_TYPEs
array type from the main variant of the inner type.

* gcc.c-torture/compile/pr40233.c: New testcase.

From-SVN: r147835

15 years agoMakefile.tpl (compare-target): Skip ./ada/*tools directories.
Nicolas Roche [Sun, 24 May 2009 12:39:17 +0000 (12:39 +0000)]
Makefile.tpl (compare-target): Skip ./ada/*tools directories.

* Makefile.tpl (compare-target): Skip ./ada/*tools directories.
* Makefile.in: Regenerate.

From-SVN: r147834

15 years agoerf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets.
Uros Bizjak [Sun, 24 May 2009 11:26:53 +0000 (13:26 +0200)]
erf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets.

* gfortran.dg/erf_2.F90 (dg-options): Add -mieee
for alpha*-*-* targets.

From-SVN: r147833

15 years agovax-protos.h (legitimate_constant_address_p): Change definition to bool (from int...
Jan-Benedict Glaw [Sun, 24 May 2009 11:25:11 +0000 (11:25 +0000)]
vax-protos.h (legitimate_constant_address_p): Change definition to bool (from int) to un-break build.

2009-05-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/vax/vax-protos.h (legitimate_constant_address_p): Change
definition to bool (from int) to un-break build.
(legitimate_constant_p, vax_mode_dependent_address_p): Likewise.

From-SVN: r147832

15 years agotree-ssa-operands.h (push_stmt_changes, [...]): Delete.
Paolo Bonzini [Sun, 24 May 2009 11:20:29 +0000 (11:20 +0000)]
tree-ssa-operands.h (push_stmt_changes, [...]): Delete.

2009-05-24  Paolo Bonzini  <bonzini@gnu.org>

* tree-ssa-operands.h (push_stmt_changes, pop_stmt_changes,
discard_stmt_changes): Delete.
* tree-ssa-operands.c (scb_stack): Delete.
(init_ssa_operands): Do not initialize it.
(fini_ssa_operands): Do not free it.
(push_stmt_changes, pop_stmt_changes, discard_stmt_changes): Delete.

* tree-cfg.c (replace_uses_by): Replace pop_stmt_changes with
update_stmt, remove the others.  Fix comments.
* tree-dfa.c (optimize_stack_restore): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Likewise.
* tree-ssa-loop-ivopts.c (rewrite_use): Likewise.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (optimize_stack_restore, execute_fold_all_builtins):
Likewise.
* tree-ssa-propagate.c (substitute_and_fold): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
(dom_opt_finalize_block): Likewise, adjusting access to stmts_to_rescan.
(optimize_stmt): Likewise, adjusting access to stmts_to_rescan.
(stmts_to_rescan): Change item type to gimple.
(tree_ssa_dominator_optimize): Change type of stmts_to_rescan.

From-SVN: r147831

15 years agoswitch.adb (Is_Internal_GCC_Switch, [...]): Bodies of ...
Olivier Hainque [Sun, 24 May 2009 09:14:53 +0000 (09:14 +0000)]
switch.adb (Is_Internal_GCC_Switch, [...]): Bodies of ...

        * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
        * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
        Add -auxbase variants to the list of recognized internal switches.
        * back_end.adb (Scan_Back_End_Switches): Use the new functions and
        adjust comments.
        * lib.ads: Make comment on internal GCC switches more general.
        * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
        as for C.

From-SVN: r147830

15 years agopasses.texi (Tree-SSA passes): Document SLP pass.
Ira Rosen [Sun, 24 May 2009 08:44:56 +0000 (08:44 +0000)]
passes.texi (Tree-SSA passes): Document SLP pass.

* doc/passes.texi (Tree-SSA passes): Document SLP pass.
* tree-pass.h (pass_slp_vectorize): New pass.
* params.h (SLP_MAX_INSNS_IN_BB): Define.
* timevar.def (TV_TREE_SLP_VECTORIZATION): Define.
* tree-vectorizer.c (timevar.h): Include.
(user_vect_verbosity_level): Declare.
(vect_location): Fix comment.
(vect_set_verbosity_level): Update user_vect_verbosity_level
instead of vect_verbosity_level.
(vect_set_dump_settings): Add an argument. Ignore user defined
verbosity if dump flags require higher level of verbosity. Print to
stderr only for loop vectorization.
(vectorize_loops): Update call to vect_set_dump_settings.
(execute_vect_slp): New function.
(gate_vect_slp): Likewise.
(struct gimple_opt_pass pass_slp_vectorize): New.
* tree-vectorizer.h (struct _bb_vec_info): Define along macros to
access its members.
(vec_info_for_bb): New function.
(struct _stmt_vec_info): Add bb_vinfo and a macro for its access.
(VECTORIZATION_ENABLED): New macro.
(SLP_ENABLED, SLP_DISABLED): Likewise.
(vect_is_simple_use): Add bb_vec_info argument.
(new_stmt_vec_info, vect_analyze_data_ref_dependences,
vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
vect_analyze_data_ref_accesses, vect_analyze_data_refs,
vect_schedule_slp, vect_analyze_slp): Likewise.
(vect_analyze_stmt): Add slp_tree argument.
(find_bb_location): Declare.
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
* tree-vect-loop.c (new_loop_vec_info): Adjust function calls.
(vect_analyze_loop_operations, vect_analyze_loop,
get_initial_def_for_induction, vect_create_epilog_for_reduction,
vect_finalize_reduction, vectorizable_reduction,
vectorizable_live_operation, vect_transform_loop): Likewise.
* tree-data-ref.c (dr_analyze_innermost): Update comment,
skip evolution analysis if analyzing a basic block.
(dr_analyze_indices): Likewise.
(initialize_data_dependence_relation): Skip the test whether the
object is invariant for basic blocks.
(compute_all_dependences): Skip dependence analysis for data
references in basic blocks.
(find_data_references_in_stmt): Don't fail in case of invariant
access in basic block.
(find_data_references_in_bb): New function.
(find_data_references_in_loop): Move code to
find_data_references_in_bb    and add a call to it.
(compute_data_dependences_for_bb): New function.
* tree-data-ref.h (compute_data_dependences_for_bb): Declare.
* tree-vect-data-refs.c (vect_check_interleaving): Adjust to the case
that STEP is 0.
(vect_analyze_data_ref_dependence): Check for interleaving in case of
unknown dependence in basic block and fail in case of dependence in
basic block.
(vect_analyze_data_ref_dependences): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_compute_data_ref_alignment): Check if it is loop vectorization
before calling nested_in_vect_loop_p.
(vect_compute_data_refs_alignment): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Adjust function calls.
(vect_analyze_data_refs_alignment): Likewise.
(vect_analyze_group_access): Fix printing. Skip different checks if
DR_STEP is 0. Keep strided stores either in loop or basic block
vectorization data structure. Fix indentation.
(vect_analyze_data_ref_access): Fix comments, allow zero step in
basic blocks.
(vect_analyze_data_ref_accesses): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_analyze_data_refs): Update comment. Call
compute_data_dependences_for_bb to analyze basic blocks.
(vect_create_addr_base_for_vector_ref): Check for outer loop only in
case of loop vectorization. In case of basic block vectorization use
data-ref itself   as  a base.
(vect_create_data_ref_ptr): In case of basic block vectorization:
don't advance the pointer, add new statements before the current
statement.  Adjust function calls.
(vect_supportable_dr_alignment): Support only aligned accesses in
basic block vectorization.
* common.opt (ftree-slp-vectorize): New flag.
* tree-vect-patterns.c (widened_name_p): Adjust function calls.
(vect_pattern_recog_1): Likewise.
* tree-vect-stmts.c (process_use): Likewise.
(vect_init_vector): Add new statements in the beginning of the basic
block in case of basic block SLP.
(vect_get_vec_def_for_operand): Adjust function calls.
(vect_finish_stmt_generation): Likewise.
(vectorizable_call): Add assert that it is loop vectorization, adjust
function calls.
(vectorizable_conversion, vectorizable_assignment): Likewise.
(vectorizable_operation): In case of basic block SLP, take
vectorization factor from statement's type and skip the relevance
check. Adjust function calls.
(vectorizable_type_demotion): Add assert that it is loop
vectorization, adjust function calls.
(vectorizable_type_promotion): Likewise.
(vectorizable_store): Check for outer loop only in case of loop
vectorization. Adjust function calls. For basic blocks, skip the
relevance check and don't advance pointers.
(vectorizable_load): Likewise.
(vectorizable_condition): Add assert that it is loop vectorization,
adjust function calls.
(vect_analyze_stmt): Add argument. In case of basic block SLP, check
that it is not reduction, get vector type, call only supported
functions, skip loop    specific parts.
(vect_transform_stmt): Check for outer loop only in case of loop
vectorization.
(new_stmt_vec_info): Add new argument and initialize bb_vinfo.
(vect_is_simple_use): Fix comment, add new argument, fix conditions
for external definition.
* passes.c (pass_slp_vectorize): New pass.
* tree-vect-slp.c (find_bb_location): New function.
(vect_get_and_check_slp_defs): Add argument, adjust function calls,
check for patterns only in loops.
(vect_build_slp_tree): Add argument, adjust function calls, fail in
case of multiple types in basic block SLP.
(vect_mark_slp_stmts_relevant): New function.
(vect_supported_load_permutation_p): Fix comment.
(vect_analyze_slp_instance): Add argument. In case of basic block
SLP, take vectorization factor from statement's type, check that
unrolling factor is 1. Adjust function call. Save SLP instance in
either loop or basic block vectorization structure. Return FALSE,
if SLP failed.
(vect_analyze_slp): Add argument. Get strided stores groups from
either loop or basic block vectorization structure. Return FALSE
if basic block SLP failed.
(new_bb_vec_info): New function.
(destroy_bb_vec_info, vect_slp_analyze_node_operations,
vect_slp_analyze_operations, vect_slp_analyze_bb): Likewise.
(vect_schedule_slp): Add argument. Get SLP instances from either
loop or basic block vectorization structure. Set vectorization factor
to be 1 for basic block SLP.
(vect_slp_transform_bb): New function.
* params.def (PARAM_SLP_MAX_INSNS_IN_BB): Define.

From-SVN: r147829

15 years agoinitializer_list (initializer_list): Add missing typedefs.
Eelis van der Weegen [Sun, 24 May 2009 04:44:50 +0000 (04:44 +0000)]
initializer_list (initializer_list): Add missing typedefs.

2009-05-24  Eelis van der Weegen  <eelis@eelis.net>

* libsupc++/initializer_list (initializer_list): Add missing typedefs.

From-SVN: r147828

15 years agoDaily bump.
GCC Administrator [Sun, 24 May 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147827

15 years agofinal.c (shorten_branches): Do not align labels for jump tables.
Mark Mitchell [Sat, 23 May 2009 17:56:14 +0000 (17:56 +0000)]
final.c (shorten_branches): Do not align labels for jump tables.

* final.c (shorten_branches): Do not align labels for jump tables.
(final_scan_insn): Use JUMP_TABLE_DATA_P.

* gcc.dg/falign-labels-1.c: New test.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r147824

15 years agopasses.texi: Standardize spelling of RTL, Tree and Tree SSA.
Eric Botcazou [Sat, 23 May 2009 17:54:11 +0000 (17:54 +0000)]
passes.texi: Standardize spelling of RTL, Tree and Tree SSA.

* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
Remove outdated reference to flow.c and fix nits.
* doc/gccint.texi: Tweak RTL description.
* doc/rtl.texi: Likewise.

From-SVN: r147821

15 years ago* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
Eric Botcazou [Sat, 23 May 2009 10:56:12 +0000 (10:56 +0000)]
* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.

From-SVN: r147820

15 years agodecl.c (set_rm_size): Bypass the check for packed array types.
Eric Botcazou [Sat, 23 May 2009 10:51:18 +0000 (10:51 +0000)]
decl.c (set_rm_size): Bypass the check for packed array types.

* gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
types.

From-SVN: r147819

15 years agodecl.c (gnat_to_gnu_entity): Do not modify the original type because of the alignment...
Eric Botcazou [Sat, 23 May 2009 10:37:34 +0000 (10:37 +0000)]
decl.c (gnat_to_gnu_entity): Do not modify the original type because of the alignment when...

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
original type because of the alignment when there is an address clause.

From-SVN: r147818

15 years agoavr.c: Change my email address.
Denis Chertykov [Sat, 23 May 2009 07:16:07 +0000 (11:16 +0400)]
avr.c: Change my email address.

* config/avr/avr.c: Change my email address.
* config/avr/avr.h: Likewise.
* config/avr/avr.md: Likewise.
* config/avr/avr-protos.h: Likewise.
* config/avr/libgcc.S: Likewise.

From-SVN: r147817

15 years agoTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Trevor Smigiel [Sat, 23 May 2009 02:28:14 +0000 (02:28 +0000)]
Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
(spu_split_load, spu_split_store): Change return type to int.
(spu_split_convert): Declare.
* config/spu/predicates.md (spu_mem_operand): Remove.
(spu_mov_operand): Update.
(spu_dest_operand, shiftrt_operator, extend_operator): Define.
* config/spu/spu.c (regno_aligned_for_load): Remove.
(reg_aligned_for_addr, spu_expand_load): Define.
(spu_expand_extv): Reimplement and handle MEM.
(spu_expand_insv): Handle MEM.
(spu_sched_reorder): Handle insn's with length 0.
(spu_legitimate_address_p): Reimplement.
(store_with_one_insn_p): Return TRUE for any mode with size
larger than 16 bytes.
(address_needs_split): Define.
(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
operands.
(spu_convert_move): Define.
(spu_split_load): Use spu_expand_load and change all MEM's to
TImode.
(spu_split_store): Change all MEM's to TImode.
(spu_init_expanders): Preallocate registers that correspond to
LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
mark_reg_pointer.
(spu_split_convert): Define.
* config/spu/spu.md (QHSI, QHSDI): New mode iterators.
(_move<mode>, _movdi, _movti): Update predicate and condition.
(load, store): Change to define_split.
(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
extend<mode>ti2.
(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
define_insn_and_split of lshr<mode>3.
(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
(<v>ashr<mode>3_imm): Define.
(extv, extzv, insv): Allow MEM operands.
(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
(_spu_convert2): Change to define_insn_and_split and remove the
corresponding define_peephole2.
(stack_protect_set, stack_protect_test, stack_protect_test_si):
Change predicates to memory_operand.

From-SVN: r147814

15 years agoFix typo in ChangeLog
Mark Mitchell [Sat, 23 May 2009 01:36:37 +0000 (01:36 +0000)]
Fix typo in ChangeLog

From-SVN: r147813

15 years agothumb2.md: Add 16-bit multiply instructions.
Mark Mitchell [Sat, 23 May 2009 01:34:53 +0000 (01:34 +0000)]
thumb2.md: Add 16-bit multiply instructions.

* config/arm/thumb2.md: Add 16-bit multiply instructions.
gcc/testsuite/

* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
New function.
* gcc.target/arm/thumb2-mul-space.c: New file.
* gcc.target/arm/thumb2-mul-space-2.c: New file.
* gcc.target/arm/thumb2-mul-space-3.c: New file.
* gcc.target/arm/thumb2-mul-speed.c: New file.

From-SVN: r147812

15 years agoDaily bump.
GCC Administrator [Sat, 23 May 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147811

15 years agoFix PR tree-optimization/40219
Michael Meissner [Fri, 22 May 2009 21:51:12 +0000 (21:51 +0000)]
Fix PR tree-optimization/40219

From-SVN: r147807

15 years agore PR tree-optimization/38964 (TBAA side-effects of C++ new still missing)
Richard Guenther [Fri, 22 May 2009 20:41:31 +0000 (20:41 +0000)]
re PR tree-optimization/38964 (TBAA side-effects of C++ new still missing)

2009-05-22  Richard Guenther  <rguenther@suse.de>

PR middle-end/38964
* alias.c (write_dependence_p): Do not use TBAA for answering
anti-dependence or output-dependence.
* tree-ssa-structalias.c (set_uids_in_ptset): Remove TBAA pruning
code.
(emit_pointer_definition): Remove.
(emit_alias_warning): Likewise.
(find_what_var_points_to): Remove TBAA pruning code.
(find_what_p_points_to): Likewise.  Do not warn about strict-aliasing
violations.
(compute_points_to_sets): Remove code computing the set of
dereferenced pointers.
* tree-data-ref.c (dr_may_alias_p): Properly use the split
oracle for querying anti and output dependencies.
* tree-ssa-alias.c (refs_may_alias_p_1): Add argument specifying
if TBAA may be applied.
(refs_anti_dependent_p): New function.
(refs_output_dependent_p): Likewise.
* tree-ssa-alias.h (refs_anti_dependent_p): Declare.
(refs_output_dependent_p): Likewise.

* doc/tree-ssa.texi (Memory model): New section.

testsuite/
* g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: XFAIL.
* gcc.dg/Wstrict-aliasing-converted-assigned.c: Likewise.
* gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: Likewise.

* doc/c-tree.texi (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
* doc/gimple.texi (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.

* cfgexpand.c (expand_gimple_basic_block): Do not handle
GIMPLE_CHANGE_DYNAMIC_TYPE or CHANGE_DYNAMIC_TYPE_EXPR.
* expr.c (expand_expr_real_1): Likewise.
* gimple-low.c (lower_stmt): Likewise.
* gimple-pretty-print.c (dump_gimple_stmt): Likewise.
(dump_gimple_cdt): Remove.
* gimple.c (gss_for_code): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
(gimple_size): Likewise.
(walk_gimple_op): Likewise.
(is_gimple_stmt): Likewise.
(walk_stmt_load_store_addr_ops): Likewise.
(gimple_build_cdt): Remove.
* gimple.def (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.
* gimple.h (gimple_cdt_new_type): Remove.
(gimple_cdt_new_type_ptr): Likewise.
(gimple_cdt_set_new_type): Likewise.
(gimple_cdt_location): Likewise.
(gimple_cdt_location_ptr): Likewise.
(gimple_cdt_set_location): Likewise.
* gimplify.c (gimplify_expr): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
* tree-cfg.c (remove_useless_stmts_1): Do not handle
GIMPLE_CHANGE_DYNAMIC_TYPE.
(verify_types_in_gimple_stmt): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
(expand_call_inline): Do not copy DECL_NO_TBAA_P.
(copy_decl_to_var): Likewise.
(copy_result_decl_to_var): Likewise.
* tree-pretty-print.c (dump_generic_node): Do not handle
CHANGE_DYNAMIC_TYPE_EXPR.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-structalias.c (struct variable_info): Remove
no_tbaa_pruning member.
(new_var_info): Do not set it based on DECL_NO_TBAA_P.
(unify_nodes): Do not copy it.
(find_func_aliases): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
(dump_solution_for_var): Do not dump no_tbaa_pruning state.
(set_uids_in_ptset): Do not check it.
(find_what_var_points_to): Likewise.
(compute_tbaa_pruning): Remove.
(compute_points_to_sets): Do not call it.
* tree.c (walk_tree_1): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
* tree.def (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Remove.
(CHANGE_DYNAMIC_TYPE_LOCATION): Likewise.
(DECL_NO_TBAA_P): Likewise.
(struct tree_decl_common): Move no_tbaa_flag to unused flags section.
* omp-low.c (copy_var_decl): Do not copy DECL_NO_TBAA_P.
(expand_omp_atomic_pipeline): Do not set it.
* print-tree.c (print_node): Do not dump it.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove
redundant check.

cp/
* init.c (avoid_placement_new_aliasing): Remove.
(build_new_1): Do not call it.

From-SVN: r147805

15 years agore PR target/39856 (ICE in subst_stack_regs_pat, at reg-stack.c:1386)
Vladimir Makarov [Fri, 22 May 2009 19:00:45 +0000 (19:00 +0000)]
re PR target/39856 (ICE in subst_stack_regs_pat, at reg-stack.c:1386)

2009-05-22 Vladimir Makarov <vmakarov@redhat.com>

PR target/39856
* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
for clobber.

From-SVN: r147804

15 years agowin32.S (_ffi_closure_STDCALL): New function.
Dave Korn [Fri, 22 May 2009 17:58:45 +0000 (17:58 +0000)]
win32.S (_ffi_closure_STDCALL): New function.

* src/x86/win32.S (_ffi_closure_STDCALL):  New function.
(.eh_frame):  Add FDE for it.

From-SVN: r147802

15 years agoconfigure.ac: Also check if assembler supports pc-relative relocs on X86_WIN32 targets.
Dave Korn [Fri, 22 May 2009 16:22:53 +0000 (16:22 +0000)]
configure.ac: Also check if assembler supports pc-relative relocs on X86_WIN32 targets.

* configure.ac:  Also check if assembler supports pc-relative
relocs on X86_WIN32 targets.
* configure:  Regenerate.
* src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
(_ffi_call_SYSV):  Add missing function type symbol .def and
add EH markup labels.
(_ffi_call_STDCALL):  Likewise.
(_ffi_closure_SYSV):  Likewise.
(_ffi_closure_raw_SYSV):  Likewise.
(.eh_frame):  Add hand-crafted EH data.

From-SVN: r147800

15 years agotree.c (handle_dll_attribute): Mark dllexport'd inlines as non-external.
Mark Mitchell [Fri, 22 May 2009 14:57:15 +0000 (14:57 +0000)]
tree.c (handle_dll_attribute): Mark dllexport'd inlines as non-external.

gcc/
* tree.c (handle_dll_attribute): Mark dllexport'd inlines as
non-external.

gcc/cp
* decl2.c (decl_needed_p): Consider dllexport'd functions needed.
* semantics.c (expand_or_defer_fn): Similarly.

gcc/testsuite/
* gcc.dg/dll-6.c: New test.
* gcc.dg/dll-6a.c: Likewise.
* gcc.dg/dll-7.c: Likewise.
* gcc.dg/dll-7a.c: Likewise.
* g++.dg/ext/dllexport2.C: Likewise.
* g++.dg/ext/dllexport2a.cc: Likewise.

From-SVN: r147799

15 years agore PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++)
Benjamin Kosnik [Fri, 22 May 2009 07:19:37 +0000 (07:19 +0000)]
re PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++)

2009-05-21  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/40221
* include/tr1_impl/functional: Add explicit cast.

From-SVN: r147794

15 years agore PR fortran/40195 (Cannot unlink existing module file)
François-Xavier Coudert [Fri, 22 May 2009 07:04:09 +0000 (07:04 +0000)]
re PR fortran/40195 (Cannot unlink existing module file)

PR fortran/40195
* module.c (read_md5_from_module_file): Close file before returning.

From-SVN: r147793

15 years agoMakefile.in (bversion.h, s-bversion): New targets.
Ben Elliston [Fri, 22 May 2009 06:08:04 +0000 (06:08 +0000)]
Makefile.in (bversion.h, s-bversion): New targets.

* Makefile.in (bversion.h, s-bversion): New targets.
(TOPLEV_H): Add bversion.h.
* toplev.h: Include "bversion.h".
(ATTRIBUTE_GCC_DIAG): When building with checking disabled, use
the __format__ attribute only if compiling with the same version
of GCC as the sources (the "build version").

From-SVN: r147792

15 years ago* c-format.c (handle_format_attribute): Fix comment typo.
Ben Elliston [Fri, 22 May 2009 01:51:19 +0000 (01:51 +0000)]
* c-format.c (handle_format_attribute): Fix comment typo.

From-SVN: r147790

15 years agore PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
Paolo Carlini [Fri, 22 May 2009 01:32:49 +0000 (01:32 +0000)]
re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)

2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40094
Revert:
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.

From-SVN: r147789

15 years agore PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
Paolo Carlini [Fri, 22 May 2009 01:28:50 +0000 (01:28 +0000)]
re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)

2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40094
Revert:
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.

From-SVN: r147788

15 years agoDaily bump.
GCC Administrator [Fri, 22 May 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147786

15 years agore PR target/37846 (Option -mno-fused-madd should be supported on IA-64)
Steve Ellcey [Thu, 21 May 2009 23:53:02 +0000 (23:53 +0000)]
re PR target/37846 (Option -mno-fused-madd should be supported on IA-64)

PR target/37846
* gcc.target/ia64/mfused-madd-vect.c: New test.
* gcc.target/ia64/mfused-madd.c: New test.
* gcc.target/ia64/mno-fused-madd-vect.c: New test.
* gcc.target/ia64/mno-fused-madd.c: New test.

From-SVN: r147783

15 years agore PR target/37846 (Option -mno-fused-madd should be supported on IA-64)
Steve Ellcey [Thu, 21 May 2009 23:51:22 +0000 (23:51 +0000)]
re PR target/37846 (Option -mno-fused-madd should be supported on IA-64)

PR target/37846
* config/ia64/ia64.opt (mfused-madd): New.
* config/ia64/ia64.h (TARGET_DEFAULT): Set MASK_FUSED_MADD.
* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
* config/ia64/ia64.md (maddsf4, msubsf4, nmaddsf4,
madddf4, madddf4_trunc, msubdf4, msubdf4_trunc, nmadddf4,
nmadddf4_truncsf, maddxf4, maddxf4_truncsf, maddxf4_truncdf,
msubxf4, msubxf4_truncsf msubxf4_truncdf, nmaddxf4,
nmaddxf4_truncsf, nmaddxf4_truncdf): Check TARGET_FUSED_MADD.
* config/ia64/vect.md (addv2sf3, subv2sf3): Force fpma/fpms
instruction if !TARGET_FUSED_MADD.
(fpma, fpms): Remove colon from name.

From-SVN: r147782

15 years agotree-ssa-sccvn.c (copy_reference_ops_from_ref): Record TMR_ORIGINAL.
Richard Guenther [Thu, 21 May 2009 22:43:19 +0000 (22:43 +0000)]
tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record TMR_ORIGINAL.

2009-05-22  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record
TMR_ORIGINAL.  Always either record TMR_SYMBOL or TMR_BASE.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
TARGET_MEM_REF.
(create_expression_by_pieces): Only convert if necessary.
* gimplify.c (gimplify_expr): Handle TARGET_MEM_REF.
* tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle INTEGER_CST.

From-SVN: r147779

15 years agomips.md (*extzv_trunc<mode>_exts): Turn into a regular pattern from a template and...
Adam Nemet [Thu, 21 May 2009 20:22:45 +0000 (20:22 +0000)]
mips.md (*extzv_trunc<mode>_exts): Turn into a regular pattern from a template and rename it ...

* config/mips/mips.md (*extzv_trunc<mode>_exts): Turn into a
regular pattern from a template and rename it ...
(*extzv_truncsi_exts): ... to this.

From-SVN: r147778

15 years agocgraph.h (struct cgraph_node): Remove inline_decl member.
Richard Guenther [Thu, 21 May 2009 18:59:11 +0000 (18:59 +0000)]
cgraph.h (struct cgraph_node): Remove inline_decl member.

2009-05-21  Richard Guenther  <rguenther@suse.de>

* cgraph.h (struct cgraph_node): Remove inline_decl member.
* ipa-inline.c (cgraph_mark_inline_edge): Do not check it.
(cgraph_default_inline_p): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.

From-SVN: r147776

15 years ago* MAINTAINERS: Update my e-mail address.
Denis Chertykov [Thu, 21 May 2009 18:46:07 +0000 (22:46 +0400)]
* MAINTAINERS: Update my e-mail address.

From-SVN: r147775

15 years agocpuid.h (bit_MOVBE): New.
H.J. Lu [Thu, 21 May 2009 18:42:20 +0000 (11:42 -0700)]
cpuid.h (bit_MOVBE): New.

gcc/

2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>
    Uros Bizjak  <ubizjak@gmail.com>

* config/i386/cpuid.h (bit_MOVBE): New.

* config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.

* config/i386/i386.c (OPTION_MASK_ISA_MOVBE_SET): New.
(OPTION_MASK_ISA_MOVBE_UNSET): Likewise.
(ix86_handle_option): Handle OPT_mmovbe.
(ix86_target_string): Add -mmovbe.
(pta_flags): Add PTA_MOVBE.
(processor_alias_table): Add PTA_MOVBE to "atom".
(override_options): Handle PTA_MOVBE.

* config/i386/i386.h (TARGET_MOVBE): New.

* config/i386/i386.md (bswapsi2): Check TARGET_MOVBE.
(*bswapsi_movbe): New.
(*bswapdi_movbe): Likewise.
(bswapdi2): Renamed to ...
(*bswapdi_1): This.
(bswapdi2): New expander.

* config/i386/i386.opt (mmovbe): New.

* doc/invoke.texi: Document -mmovbe.

gcc/testsuite/

2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/movbe-1.c: New.
* gcc.target/i386/movbe-2.c: Likewise.

From-SVN: r147773

15 years agoplugin.c (try_init_one_plugin): Updated to new plugin_init API.
Taras Glek [Thu, 21 May 2009 17:34:43 +0000 (17:34 +0000)]
plugin.c (try_init_one_plugin): Updated to new plugin_init API.

gcc/ChangeLog
* plugin.c (try_init_one_plugin): Updated to new plugin_init API.
* gcc-plugin.h (plugin_init): Updated signature.
* gcc-plugin.h (plugin_name_args): Moved to this header.
* doc/plugins.texi (plugin_init): Updated documention to reflect API change.
* doc/plugins.texi (plugin_name_args): Added to documention.
gcc/testsuite/ChangeLog
* gcc.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/dumb_plugin.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/attribute_plugin.c (plugin_init): Updated to new plugin_init signature.

From-SVN: r147772

15 years agoneon.md (*mul<mode>3add<mode>_neon): New pattern.
Mark Mitchell [Thu, 21 May 2009 16:53:48 +0000 (16:53 +0000)]
neon.md (*mul<mode>3add<mode>_neon): New pattern.

* config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern.
(*mul<mode>3neg<mode>add<mode>_neon): Likewise.

* gcc.dg/target/arm/neon-vmla-1.c: New.
* gcc.dg/target/arm/neon-vmls-1.c: Likewise.

From-SVN: r147771

15 years agoconfigure.ac (cygwin noconfigdirs): Remove libgcj.
Dave Korn [Thu, 21 May 2009 14:42:22 +0000 (14:42 +0000)]
configure.ac (cygwin noconfigdirs): Remove libgcj.

* configure.ac (cygwin noconfigdirs):  Remove libgcj.
* configure:  Regenerate.

From-SVN: r147770

15 years agoi386.c: Use REG_P...
Shujing Zhao [Thu, 21 May 2009 14:01:02 +0000 (14:01 +0000)]
i386.c: Use REG_P...

2009-05-21  Shujing Zhao  <pearly.zhao@oracle.com>

* config/i386/i386.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P and
JUMP_TABLE_DATA_P predicates where applicable.
* config/i386/predicates.md: Ditto.
* config/i386/sse.md: Ditto.

From-SVN: r147769

15 years agoi386.md (adddi_4_rex64, [...]): For operand2 -128 override length_immediate attribute...
Jakub Jelinek [Thu, 21 May 2009 13:32:47 +0000 (15:32 +0200)]
i386.md (adddi_4_rex64, [...]): For operand2 -128 override length_immediate attribute to 1.

* config/i386/i386.md (adddi_4_rex64, addsi_4, addhi_4): For
operand2 -128 override length_immediate attribute to 1.
* config/i386/predicates.md (constm128_operand): New predicate.

From-SVN: r147767

15 years agoi386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the same as...
Jakub Jelinek [Thu, 21 May 2009 13:00:30 +0000 (15:00 +0200)]
i386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the same as %rbp.

* config/i386/i386.c (memory_address_length): Handle %r12
the same as %rsp and %r13 the same as %rbp.  For %rsp and %rbp
also check REGNO.
(ix86_attr_length_address_default): For MODE_SI lea in 64-bit
mode look through optional ZERO_EXTEND and SUBREG.
* config/i386/i386.md (R12_REG): New define_constant.
(prefix_data16): For sse unit set also for MODE_TI insns.
(prefix_rex): For -m32 always return 0.  For TYPE_IMOVX
insns set if operand 1 is ext_QIreg_operand.
(modrm): For TYPE_IMOV clear only if not MODE_DI.  For
TYPE_{ALU{,1},ICMP,TEST} insn clear if there is non-shortened
immediate.
(*movdi_extzv_1, zero_extendhidi2, zero_extendqidi2): Change
mode from MODE_DI to MODE_SI.
(movdi_1_rex64): Override modrm and length_immediate attributes
only for movabs (TYPE_IMOV, alternative 2).
(zero_extendsidi2_rex64): Clear prefix_0f attribute if TYPE_IMOVX.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Set
prefix_rex attribute if DImode.
(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64, *adddi_5_rex64,
*addsi_1, *addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
*addsi_3_zext, *addsi_5, *addhi_1_lea, *addhi_1, *addhi_2, *addhi_3,
*addhi_5, *addqi_1_lea, *addqi_1): Override length_immediate
attribute to 1 if TYPE_ALU and operand 2 is const128_operand.
(pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64):
Likewise.  For TYPE_IMOV clear length_immediate attribute.
(*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashldi3_cconly_rex64,
*ashlsi3_1, *ashlsi3_1_zext, *ashlsi3_cmp, **ashlsi3_cconly,
*ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1, *ashlhi3_cmp,
*ashlhi3_cconly, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
*ashlqi3_cconly): Override length_immediate attribute to 0 if TYPE_ALU
or one operand TYPE_ISHIFT.
(*ashrdi3_1_one_bit_rex64, *ashrdi3_one_bit_cmp_rex64,
*ashrdi3_one_bit_cconly_rex64, *ashrsi3_1_one_bit,
*ashrsi3_1_one_bit_zext, *ashrsi3_one_bit_cmp,
*ashrsi3_one_bit_cconly, *ashrsi3_one_bit_cmp_zext,
*ashrhi3_1_one_bit, *ashrhi3_one_bit_cmp, *ashrhi3_one_bit_cconly,
*ashrqi3_1_one_bit, *ashrqi3_1_one_bit_slp, *ashrqi3_one_bit_cmp,
*ashrqi3_one_bit_cconly, *lshrdi3_1_one_bit_rex64,
*lshrdi3_cmp_one_bit_rex64, *lshrdi3_cconly_one_bit_rex64,
*lshrsi3_1_one_bit, *lshrsi3_1_one_bit_zext, *lshrsi3_one_bit_cmp,
*lshrsi3_one_bit_cconly, *lshrsi3_cmp_one_bit_zext,
*lshrhi3_1_one_bit, *lshrhi3_one_bit_cmp, *lshrhi3_one_bit_cconly,
*lshrqi3_1_one_bit, *lshrqi3_1_one_bit_slp, *lshrqi2_one_bit_cmp,
*lshrqi2_one_bit_cconly, *rotlsi3_1_one_bit_rex64, *rotlsi3_1_one_bit,
*rotlsi3_1_one_bit_zext, *rotlhi3_1_one_bit, *rotlqi3_1_one_bit_slp,
*rotlqi3_1_one_bit, *rotrdi3_1_one_bit_rex64, *rotrsi3_1_one_bit,
*rotrsi3_1_one_bit_zext, *rotrhi3_one_bit, *rotrqi3_1_one_bit,
*rotrqi3_1_one_bit_slp): Override length_immediate attribute to 0,
set mode attribute, don't override length attribute.
(*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Set prefix_0f attribute
to 1.
(return_internal_long): Set length attribute to 2 instead of 1.
(*strmovqi_rex_1, *strsetqi_rex_1, *rep_stosqi_rex64,
*cmpstrnqi_nz_rex_1, *cmpstrnqi_rex_1, *strlenqi_rex_1): Clear
prefix_rex attribute.
* config/i386/predicates.md (ext_QIreg_operand,
const128_operand): New predicates.
(memory_displacement_only_operand): Always return 0 for
TARGET_64BIT.

From-SVN: r147763

15 years agothumb2.md (orsi_notsi_si): Fix typo in pattern.
Ramana Radhakrishnan [Thu, 21 May 2009 08:46:40 +0000 (08:46 +0000)]
thumb2.md (orsi_notsi_si): Fix typo in pattern.

2009-05-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/thumb2.md (orsi_notsi_si): Fix typo in pattern.

From-SVN: r147761

15 years agotree.c (build_tree_list_vec_stat): New function.
Ian Lance Taylor [Thu, 21 May 2009 05:58:39 +0000 (05:58 +0000)]
tree.c (build_tree_list_vec_stat): New function.

./: * tree.c (build_tree_list_vec_stat): New function.
(ctor_to_vec): New function.
(build_nt_call_vec): New function.
(build_call_array): Change args to be a const pointer.
(build_call_vec): New function.
* tree.h (build_nt_call_vec): Declare.
(build_tree_list_vec_stat): Declare.
(build_tree_list_vec): Define.
(build_call_array): Update declaration.
(build_call_vec): Declare.
(ctor_to_vec): Declare.
* c-common.c (tree_vector_cache): New static variable.
(make_tree_vector): New function.
(release_tree_vector): New function.
(make_tree_vector_single): New function.
(make_tree_vector_copy): New function.
* c-common.h (tree_vector_cache, make_tree_vector): Declare.
(make_tree_vector_single, make_tree_vector_copy): Declare.
* c-parser.c (cached_expr_list_1, cached_expr_list_2): Remove.
(c_parser_expr_list): Don't manage cache here, instead call
make_tree_vector.
(c_parser_release_expr_list): Remove static function.
(c_parser_vec_to_tree_list): Remove static function.
(c_parser_attributes): Call build_tree_list_vec instead of
c_parser_vec_to_tree_list.  Call release_tree_vector instead of
c_parser_release_expr_list.
(c_parser_postfix_expression_after_primary): Likewise.
(c_parser_objc_keywordexpr): Likewise.
cp/:
* parser.c (cp_parser_postfix_expression): Change args to a vec.
Release it when done.
(tree_vector): Define typedef.  Define VEC functions.
(cp_parser_parenthesized_expression_list): Change return type to
vec.  Change all callers.
(cp_parser_new_expression): Change placement and initializer to
vecs.  Release them when done.
(cp_parser_new_placement): Change return type to vec.  Change all
callers.
(cp_parser_new_initializer): Likewise.
* typeck.c (build_function_call_vec): Just call
cp_build_function_call_vec.
(cp_build_function_call): Just build a vec and call
cp_build_function_call_vec.
(cp_build_function_call_vec): New function based on old
cp_build_function_call.
(convert_arguments): Remove nargs and argarray parameters.  Change
values to a vec.  Change caller.
(build_x_compound_expr_from_vec): New function.
(cp_build_modify_expr): Build vec to pass to
build_special_member_call.
* call.c (struct z_candidate): Add first_arg field.  Change args
field to vec.
(convert_class_to_reference): Handle first argument separately.
(add_candidate): Add first_arg parameter.  Change args parameter
to vec.  Change all callers.
(add_function_candidate, add_conv_candidate): Likewise.
(add_template_candidate_real, add_template_candidate): Likewise.
(add_template_conv_candidate): Likewise.
(build_user_type_conversion_1): Handle first argument separately.
(resolve_args): Change return type and parameter type to vecs.
Change all callers.
(perform_overload_resolution): Change args parameter to vec.
Change all callers.
(build_new_function_call, build_operator_new_call): Likewise.
(add_candidates): Likewise.
(build_op_call): New globally visible function, built from and
replacing static function build_object_call.
(build_new_op): Don't handle CALL_EXPR.  Build vec, not tree_list,
of arguments.
(build_op_delete_call): Build vec to pass to
cp_build_function_call_vec.
(build_temp): Build vec to pass to build_special_member_call.
(convert_like_real): Likewise.
(perform_direct_initialization_if_possible): Likewise.
(build_over_call): Handle first_arg field.  Use build_call_array
rather than build_call_list.
(build_special_member_call): Change args parameter to vec.  Change
all callers.
(build_new_method_call): Likewise.
* init.c (expand_default_init): Change parms to vec.
(build_raw_new_expr): Change placement and init to vecs.  Change
all callers.
(build_new_1, build_new): Likewise.
* class.c (resolve_address_of_overloaded_function): Build array to
pass to fn_type_unification.
* pt.c (tsubst_copy_and_build): For NEW_EXPR build vecs to pass to
build_new.  For CALL_EXPR create a vec rather than a tree_list;
expand a pack if necessary.
(fn_type_unification): Change args parameter to const tree *.  Add
nargs parameter.  Change all callers.
(type_unification_real): Likewise.
(unify): Build array to pass to type_unification_real.
(get_bindings): Build array to pass to fn_type_unification.
(any_type_dependent_arguments_p): Change args parameter to a vec.
Change all callers.
(make_args_non_dependent): Renamed from build_non_dependent_args.
Change return type to void.  Change parameter type to vec.  Change
all callers.
(do_auto_deduction): Pass an array to type_unification_real.
* semantics.c (perform_koenig_lookup): Change args to vec.  Change
all callers.
(finish_call_expr): Change args to vec.  Change all callers.  Call
build_op_call instead of passing CALL_EXPR to build_new_op.
(cxx_omp_create_clause_info): Allocate vec to pass to
build_special_member_call.
* decl2.c (build_offset_ref_call_from_tree): Change args parameter
to vec.  Change all callers.
* name-lookup.c (lookup_function_nonclass): Likewise.
(struct arg_lookup): Change args to vec.
(arg_assoc_namespace): Handle args as a vec.
(arg_assoc_args_vec): New static function.
(lookup_arg_dependent): Change args parameter to vec.  Change all
callers.
* method.c (do_build_assign_ref): Allocate vec to pass to
build_special_member_call.
* except.c (build_throw): Likewise.
* typeck2.c (build_functional_cast): Likewise.
* cvt.c (ocp_convert): Likewise.
* tree.c (build_min_non_dep_call_vec): Change last parameter to
vec.  Change all callers.
* cp-tree.h: Update declarations.
* name-lookup.h: Update declarations.
objc/:
* objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
than NULL_TREE to build_special_member_call.

From-SVN: r147759

15 years agotm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE...
Sandra Loosemore [Thu, 21 May 2009 03:06:12 +0000 (23:06 -0400)]
tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE...

2009-05-20  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE,
TARGET_INVALID_RETURN_TYPE, TARGET_PROMOTED_TYPE, and
TARGET_CONVERT_TO_TYPE.
* hooks.c (hook_tree_const_tree_null): Define.
* hooks.h (hook_tree_const_tree_null): Declare.
* target.h (struct gcc_target):  Add invalid_parameter_type,
invalid_return_type, promoted_type, and convert_to_type fields.
* target-def.h: (TARGET_INVALID_PARAMETER_TYPE): Define.
(TARGET_INVALID_RETURN_TYPE): Define.
(TARGET_PROMOTED_TYPE): Define.
(TARGET_CONVERT_TO_TYPE): Define.
(TARGET_INITIALIZER): Update for new fields.
* c-decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* c-typeck.c (default_conversion): Check targetm.promoted_type.
* c-convert.c (convert): Check targetm.convert_to_type.

gcc/cp/
* typeck.c (default_conversion): Check targetm.promoted_type.
* decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* cvt.c (ocp_convert): Check targetm.convert_to_type.
(build_expr_type_conversion): Check targetm.promoted_type.

From-SVN: r147758

15 years agofunctional (function): Use explicit operator bool.
Benjamin Kosnik [Thu, 21 May 2009 01:12:00 +0000 (01:12 +0000)]
functional (function): Use explicit operator bool.

2009-05-20  Benjamin Kosnik  <bkoz@redhat.com>

* include/tr1_impl/functional (function): Use explicit operator bool.
* include/bits/shared_ptr.h (__shared_ptr): Same.
* include/bits/unique_ptr.h (unique_ptr): Same.
* include/std/mutex (unique_lock): Same.
* include/std/system_error (error_code): Same.
(error_condition): Same.
* include/std/ostream (sentry): Same.
* include/std/istream (sentry): Same.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.

From-SVN: r147756

15 years agoDaily bump.
GCC Administrator [Thu, 21 May 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147755

15 years ago* config/mips/mips.md (*extenddi_truncate<mode>,
Adam Nemet [Wed, 20 May 2009 21:47:57 +0000 (21:47 +0000)]
* config/mips/mips.md (*extenddi_truncate<mode>,

*extendsi_truncate<mode>): Emit exts if supported.  Add attribute
defintions.
(*extendhi_truncateqi): New define_insn_and_sptit.

testsuite/
* gcc.target/mips/octeon-exts-6.c: New test.
* gcc.target/mips/extend-1.c: New test.
* gcc.target/mips/octeon-exts-2.c: Adjust to not match sign-extension
EXTS.
* gcc.target/mips/octeon-exts-5.c: Likewise.

From-SVN: r147751

15 years agore PR middle-end/40204 (segfault with bitfields in structs)
Jakub Jelinek [Wed, 20 May 2009 21:09:11 +0000 (23:09 +0200)]
re PR middle-end/40204 (segfault with bitfields in structs)

PR middle-end/40204
* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
recursion if build_int_cst_type returns the same INTEGER_CST as
arg1.

* gcc.c-torture/compile/pr40204.c: New test.

From-SVN: r147749

15 years agore PR libgomp/40174 (Memory leak when using '#pragma omp parallel')
Jakub Jelinek [Wed, 20 May 2009 20:54:45 +0000 (22:54 +0200)]
re PR libgomp/40174 (Memory leak when using '#pragma omp parallel')

PR libgomp/40174
* team.c (gomp_thread_start): Destroy thr->release semaphore.
(gomp_free_pool_helper): Likewise.

From-SVN: r147747

15 years agoFix formatting
Eric Botcazou [Wed, 20 May 2009 16:14:16 +0000 (16:14 +0000)]
Fix formatting

From-SVN: r147740

15 years agofold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of...
Eric Botcazou [Wed, 20 May 2009 16:01:41 +0000 (16:01 +0000)]
fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of VIEW_CONVERT_EXPR.

* fold-const.c (build_fold_addr_expr_with_type): Take the address of
the operand of VIEW_CONVERT_EXPR.

From-SVN: r147739

15 years agodriver-i386.c (host_detect_local_cpu): Check extended family and model for Intel...
H.J. Lu [Wed, 20 May 2009 13:32:14 +0000 (13:32 +0000)]
driver-i386.c (host_detect_local_cpu): Check extended family and model for Intel processors.

2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/driver-i386.c (host_detect_local_cpu): Check
extended family and model for Intel processors.  Support Intel
Atom.

From-SVN: r147736

15 years agogstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum...
Olivier Hainque [Wed, 20 May 2009 12:44:44 +0000 (12:44 +0000)]
gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous.

* gstab.h (stab_code_type): Define, to be used instead of the
__stab_debug_code enum, made anonymous.  Add 2009 to the copyright
notice.
* dbxout.c (STAB_CODE_TYPE): Remove #define and replace use
occurrences by stab_code_type.
* mips-tfile.c (STAB_CODE_TYPE): Remove #define, unused.

From-SVN: r147734

15 years agotree-flow.h (insert_edge_copies_seq): Undeclare.
Martin Jambor [Wed, 20 May 2009 10:18:10 +0000 (12:18 +0200)]
tree-flow.h (insert_edge_copies_seq): Undeclare.

2009-05-20  Martin Jambor  <mjambor@suse.cz>

* tree-flow.h (insert_edge_copies_seq): Undeclare.
(sra_insert_before): Likewise.
(sra_insert_after): Likewise.
(sra_init_cache): Likewise.
(sra_type_can_be_decomposed_p): Likewise.
* tree-mudflap.c (insert_edge_copies_seq): Copied here from tree-sra.c
* tree-sra.c (sra_type_can_be_decomposed_p): Made static.
(sra_insert_before): Likewise.
(sra_insert_after): Likewise.
(sra_init_cache): Likewise.
(insert_edge_copies_seq): Made static and moved upwards.

* tree-complex.c (extract_component): Added VIEW_CONVERT_EXPR switch
case.

* tree-flow-inline.h (contains_view_convert_expr_p): New function.

* ipa-prop.c (get_ssa_def_if_simple_copy): New function.
(determine_cst_member_ptr): Call get_ssa_def_if_simple_copy to skip
simple copies.

From-SVN: r147733

15 years agodecl.c (gnat_to_gnu_entity): When discriminants affect the shape of the subtype...
Eric Botcazou [Wed, 20 May 2009 08:29:05 +0000 (08:29 +0000)]
decl.c (gnat_to_gnu_entity): When discriminants affect the shape of the subtype...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
discriminants affect the shape of the subtype, retrieve the GCC type
directly from the original field if the GNAT types for the field and
the original field are the same.

From-SVN: r147732

15 years agoexpr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison...
Richard Guenther [Wed, 20 May 2009 08:19:50 +0000 (08:19 +0000)]
expr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison modes.

2009-05-20  Richard Guenther  <rguenther@suse.de>

* expr.c (expand_expr_real_1): Avoid calling do_store_flag
with mismatched comparison modes.

* gcc.c-torture/compile/20090518-1.c: New testcase.

From-SVN: r147731

15 years agoFix Thumb2 bic orn
Ramana Radhakrishnan [Wed, 20 May 2009 05:40:17 +0000 (05:40 +0000)]
Fix Thumb2 bic orn

2009-05-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.md (*arm_iorsi3): Refactored for only ARM.
        (peephole ior (reg, int) -> mov, ior): Refactored for only ARM.
        * config/arm/thumb2.md (*thumb_andsi_not_shiftsi_si): Allow bic
        with shifts for Thumb2.
        (orsi_notsi): New for orn.
        (*thumb_orsi_notshiftsi_si): Allow orn with shifts.
        (*thumb2_iorsi3): Rewrite support for iorsi for Thumb2.
        * config/arm/arm.c (const_ok_for_op): Split case for IOR for
        Thumb2.
        (arm_gen_constant): Set can_invert for IOR and Thumb2, Add
        comments. Don't invert remainder for IOR.

From-SVN: r147729

15 years ago14340.cc: Abstract list type.
Benjamin Kosnik [Wed, 20 May 2009 04:05:21 +0000 (04:05 +0000)]
14340.cc: Abstract list type.

2009-05-19  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/23_containers/list/14340.cc: Abstract list type.
* testsuite/23_containers/list/init-list.cc: Same.
* testsuite/23_containers/list/pthread5.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/operations/1.cc: Same.
* testsuite/23_containers/list/operations/2.cc: Same.
* testsuite/23_containers/list/operations/3.cc: Same.
* testsuite/23_containers/list/operations/4.cc: Same.
* testsuite/23_containers/list/operations/5.cc: Same.
* testsuite/23_containers/list/requirements/citerators.cc: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/constructor.cc: Same.
* testsuite/23_containers/list/requirements/
partial_specialization/1.cc: Same.
* testsuite/23_containers/list/23781.cc: Same.
* testsuite/23_containers/list/pthread1.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/list/capacity/29134.cc: Same.
* testsuite/23_containers/list/check_construct_destroy.cc: Same.
* testsuite/23_containers/list/moveable.cc: Same.

* testsuite/util/common_type/assoc/common_type.hpp: Re-break lines.

From-SVN: r147728

15 years agore PR tree-optimization/40087 (Number of iterations analysis wrong)
Zdenek Dvorak [Wed, 20 May 2009 00:33:54 +0000 (02:33 +0200)]
re PR tree-optimization/40087 (Number of iterations analysis wrong)

PR tree-optimization/40087
* tree-ssa-loop-niter.c (number_of_iterations_ne_max,
number_of_iterations_ne): Rename never_infinite argument.
(number_of_iterations_lt_to_ne, number_of_iterations_lt,
number_of_iterations_le): Handle pointer-type ivs when
exit_must_be_taken is false.
(number_of_iterations_cond):  Do not always assume that
exit_must_be_taken if the control variable is a pointer.

* gcc.dg/tree-ssa/pr40087.c: New test.

From-SVN: r147727

15 years agoDaily bump.
GCC Administrator [Wed, 20 May 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147726

15 years agore PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5)
Jerry DeLisle [Wed, 20 May 2009 00:16:38 +0000 (00:16 +0000)]
re PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5)

2009-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/37754
* io/write_float.def: Simplify format calculation.

From-SVN: r147725

15 years agoc-typeck.c (build_binary_op): Allow % on integal vectors.
Andrew Pinski [Tue, 19 May 2009 23:14:10 +0000 (23:14 +0000)]
c-typeck.c (build_binary_op): Allow % on integal vectors.

2009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * c-typeck.c (build_binary_op): Allow % on integal vectors.
        * doc/extend.texi (Vector Extension): Document that % is allowed too.

009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * typeck.c (build_binary_op): Allow % on integal vectors.

2009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.dg/vector-4.c: New testcase.
        * gcc.dg/simd-1b.c: % is now allowed for integer vectors.
        * g++.dg/ext/vector16.C: New testcase.

From-SVN: r147722

15 years agore PR c/40172 (Revision 147596 breaks bootstrap)
H.J. Lu [Tue, 19 May 2009 21:17:00 +0000 (21:17 +0000)]
re PR c/40172 (Revision 147596 breaks bootstrap)

2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>

PR c/40172
* gcc.dg/pr40172.c: Renamed to ...
* gcc.dg/pr40172-1.c: This.

* gcc.dg/pr40172-2.c: New.
* gcc.dg/pr40172-3.c: Likewise.

From-SVN: r147719

15 years agoi386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OU...
H.J. Lu [Tue, 19 May 2009 20:11:55 +0000 (20:11 +0000)]
i386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OUTPUT_MAX_SKIP_ALIGN.

2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_avoid_jump_mispredicts): Check
ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OUTPUT_MAX_SKIP_ALIGN.

From-SVN: r147718

15 years agore PR c/40172 (Revision 147596 breaks bootstrap)
Manuel López-Ibáñez [Tue, 19 May 2009 19:29:27 +0000 (19:29 +0000)]
re PR c/40172 (Revision 147596 breaks bootstrap)

2009-05-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/40172
gcc/
* c.opt (Wlogical-op): Disabled by default.
* c-opt (c_common_post_options): Do not enable Wlogical-op with
Wextra.
* doc/invoke.texi (Wlogical-op): Likewise.
testsuite/
* gcc.dg/pr40172.c: Add -Wlogical-op to dg-options.

From-SVN: r147717

15 years agotree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.
Eric Botcazou [Tue, 19 May 2009 19:14:42 +0000 (19:14 +0000)]
tree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.

* tree-scalar-evolution.c (follow_ssa_edge_expr) <NOP_EXPR>: Turn
into CASE_CONVERT.
<PLUS_EXPR>: Strip useless type conversions instead of type nops.
Propagate the type of the first operand.
<ASSERT_EXPR>: Simplify.
(follow_ssa_edge_in_rhs): Use gimple_expr_type to get the type.
Rewrite using the RHS code as discriminant.
<NOP_EXPR>: Turn into CASE_CONVERT.
<PLUS_EXPR>: Propagate the type of the first operand.

From-SVN: r147716

15 years agore PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for...
Paolo Carlini [Tue, 19 May 2009 18:20:47 +0000 (18:20 +0000)]
re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale)

2009-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40184
* include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale):
Declare...
* config/locale/gnu/c_locale.cc: ... and define.
* config/locale/generic/c_locale.cc: Define.
* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
Use it.
* testsuite/22_locale/locale/cons/40184.cc: New.

From-SVN: r147714

15 years agoia64-protos.h (ia64_dconst_0_5): New.
Steve Ellcey [Tue, 19 May 2009 18:18:08 +0000 (18:18 +0000)]
ia64-protos.h (ia64_dconst_0_5): New.

* config/ia64/ia64-protos.h (ia64_dconst_0_5): New.
(ia64_dconst_0_375): New.
* config/ia64/ia64.c (ia64_override_options): Remove
-minline-sqrt-min-latency warning.
(ia64_dconst_0_5_rtx, ia64_dconst_0_5): New.
(ia64_dconst_0_375_rtx, ia64_dconst_0_375): New
* config/ia64/ia64.md (*sqrt_approx): Remove.
(sqrtsf2): Remove #if 0.
(sqrtsf2_internal_thr): Rewrite and move to div.md.
(sqrtdf): Remove assert.
(sqrtdf2_internal_thr): Rewrite and move to div.md.
(sqrtxf2): Remove #if 0.
(sqrtxf2_internal_thr): Rewrite and move to div.md.
* div.md (sqrt_approx_rf): New.
(sqrtsf2_internal_thr): New implementation.
(sqrtsf2_internal_lat): New.
(sqrtdf2_internal_thr: New implementation.
(sqrtxf2_internal): New implementation.

From-SVN: r147713

15 years ago* defaults.h (UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE)
Francois-Xavier Coudert [Tue, 19 May 2009 18:12:57 +0000 (18:12 +0000)]
* defaults.h (UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE)
(WCHAR_TYPE, MODIFIED_WCHAR_TYPE, PTRDIFF_TYPE, WINT_TYPE)
(INTMAX_TYPE, UINTMAX_TYPE, SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE)
(INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE)
(UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE)
(INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE)
(UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE)
(INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE)
(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE)
(SIZE_TYPE, PID_TYPE, CHAR16_TYPE, CHAR32_TYPE): Move defaults here...
* c-common.c: ...from here.

Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>
From-SVN: r147712

15 years agoReplace spaces with tab.
H.J. Lu [Tue, 19 May 2009 16:06:46 +0000 (09:06 -0700)]
Replace spaces with tab.

From-SVN: r147709

15 years agoc-common.c (warn_logical_operator): Remove unnecessary conditionals.
Manuel López-Ibáñez [Tue, 19 May 2009 15:41:17 +0000 (15:41 +0000)]
c-common.c (warn_logical_operator): Remove unnecessary conditionals.

2009-05-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-common.c (warn_logical_operator): Remove unnecessary
conditionals.

From-SVN: r147708

15 years agobuiltins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.
Kaveh R. Ghazi [Tue, 19 May 2009 14:56:05 +0000 (14:56 +0000)]
builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.

* builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.

From-SVN: r147707

15 years agounwind-dw2-fde.c (fde_unencoded_compare): Replace type punning assignments with memcp...
Ben Elliston [Tue, 19 May 2009 13:24:30 +0000 (13:24 +0000)]
unwind-dw2-fde.c (fde_unencoded_compare): Replace type punning assignments with memcpy calls.

* unwind-dw2-fde.c (fde_unencoded_compare): Replace type punning
assignments with memcpy calls.
(add_fdes): Likewise.
(binary_search_unencoded_fdes): Likewise.
(linear_search_fdes): Eliminate type puns.

From-SVN: r147705

15 years agotree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not falsely claim to have...
Richard Guenther [Tue, 19 May 2009 11:51:54 +0000 (11:51 +0000)]
tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not falsely claim to have propagated into all uses.

2009-05-19  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do
not falsely claim to have propagated into all uses.

* gcc.c-torture/compile/20090519-1.c: New testcase.

From-SVN: r147702

15 years agocp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
Ian Lance Taylor [Tue, 19 May 2009 02:42:13 +0000 (02:42 +0000)]
cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.

* cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
(cplus_demangle_fill_dtor): Likewise.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>
From-SVN: r147699

15 years agore PR other/40159 ("make all" ignores build failures)
Alexandre Oliva [Tue, 19 May 2009 01:30:35 +0000 (01:30 +0000)]
re PR other/40159 ("make all" ignores build failures)

PR other/40159
* Makefile.tpl (all): Don't assume gcc-bootstrap and
gcc-no-bootstrap are mutually exclusive.
* Makefile.in: Rebuilt.

From-SVN: r147695

15 years agoDaily bump.
GCC Administrator [Tue, 19 May 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147688

15 years agore PR other/40159 ("make all" ignores build failures)
Alexandre Oliva [Tue, 19 May 2009 00:01:17 +0000 (00:01 +0000)]
re PR other/40159 ("make all" ignores build failures)

PR other/40159
* Makefile.tpl (all): Don't end with unconditional success.
* Makefile.in: Rebuilt.

From-SVN: r147683

15 years agoinvoke.texi (C Dialect Options): Update OpenMP specification version to v3.0.
Ben Elliston [Mon, 18 May 2009 23:41:55 +0000 (23:41 +0000)]
invoke.texi (C Dialect Options): Update OpenMP specification version to v3.0.

* doc/invoke.texi (C Dialect Options): Update OpenMP specification
version to v3.0.

From-SVN: r147682

15 years agore PR c++/40192 (Unable to use std::vector with typedef'd array types)
Paolo Carlini [Mon, 18 May 2009 23:16:20 +0000 (23:16 +0000)]
re PR c++/40192 (Unable to use std::vector with typedef'd array types)

2009-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40192
* include/bits/stl_construct.h (struct _Destroy_aux): Add.
(_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
* testsuite/23_containers/vector/40192.cc: New.

From-SVN: r147680

15 years agosh-protos.h (sh_legitimate_address_p): Remove.
Kaz Kojima [Mon, 18 May 2009 22:31:46 +0000 (22:31 +0000)]
sh-protos.h (sh_legitimate_address_p): Remove.

* config/sh/sh-protos.h (sh_legitimate_address_p): Remove.
* config/sh/sh.c (sh_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/sh/sh.md: Clean up references to GO_IF_LEGITIMATE_ADDRESS.

From-SVN: r147679

15 years agostl_pair.h (swap): Do not swap rvalues.
Jonathan Wakely [Mon, 18 May 2009 22:15:56 +0000 (22:15 +0000)]
stl_pair.h (swap): Do not swap rvalues.

2009-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/stl_pair.h (swap): Do not swap rvalues.
* include/bits/stl_deque.h (swap): Likewise.
* include/bits/stl_list.h (swap): Likewise.
* include/bits/stl_vector.h (swap): Likewise.
* include/bits/stl_bvector.h (swap): Likewise.
* include/bits/stl_queue.h (swap): Likewise.
* include/bits/stl_stack.h (swap): Likewise.
* include/bits/stl_tree.h (swap): Likewise.
* include/bits/stl_map.h (swap): Likewise.
* include/bits/stl_multimap.h (swap): Likewise.
* include/bits/stl_set.h (swap): Likewise.
* include/bits/stl_multiset.h (swap): Likewise.
* include/bits/forward_list.h (swap): Likewise.
* include/bits/unique_ptr.h (swap): Likewise.
* include/debug/deque (swap): Likewise.
* include/debug/list (swap): Likewise.
* include/debug/vector (swap): Likewise.
* include/debug/map.h (swap): Likewise.
* include/debug/multimap.h (swap): Likewise.
* include/debug/set.h (swap): Likewise.
* include/debug/multiset.h (swap): Likewise.
* include/debug/unordered_map (swap): Likewise.
* include/debug/unordered_set (swap): Likewise.
* include/ext/vstring.h (swap): Likewise.
* include/tr1_impl/unordered_map (swap): Likewise.
* include/tr1_impl/hashtable (swap): Likewise.
* include/tr1_impl/unordered_set (swap): Likewise.
* include/std/tuple (swap): Likewise.
* include/std/mutex (swap): Likewise.
* include/std/thread (swap): Likewise.
(operator<<): Only output to lvalue streams.
* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
* testsuite/23_containers/deque/requirements/dr438/
assign_neg.cc: Adjust line numbers.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
test non-member swap.
* testsuite/30_threads/thread/swap/2.cc: Remove.

From-SVN: r147678

15 years agoImplement explicit conversions ops as specified in N2437.
Jason Merrill [Mon, 18 May 2009 21:48:02 +0000 (17:48 -0400)]
Implement explicit conversions ops as specified in N2437.

* decl.c (grokdeclarator): Handle explicit conversion ops.
(check_initializer): Pass flags to store_init_value.
* decl2.c (maybe_emit_vtables): Likewise.
* init.c (expand_aggr_init_1): Likewise.
* call.c (convert_class_to_reference): Take flags parm,
check DECL_NONCONVERTING_P.
(build_user_type_conversion_1): Check DECL_NONCONVERTING_P.
(add_builtin_candidates): Simplify getting type of conversion.
(build_object_call): Likewise.  Check DECL_NONCONVERTING_P.
(implicit_conversion): Pass through LOOKUP_ONLYCONVERTING.
(reference_binding): Take flags parm.  Direct-initialize copy parm.
(add_function_candidate): Direct-initialize the copy parm.
(add_conv_candidate): Use LOOKUP_IMPLICIT, not LOOKUP_NORMAL.
(build_builtin_candidate): Add LOOKUP_ONLYCONVERTING.
(conditional_conversion): Likewise.
(convert_like_real): Only complain about DECL_NONCONVERTING_P
constructors.
(perform_implicit_conversion_flags): Add flags parm to
perform_implicit_conversion.  Improve diagnostics.
* cp-tree.h (LOOKUP_IMPLICIT): New macro.
(LOOKUP_COPY_PARM): New bit macro.
* cvt.c (build_expr_type_conversion): Check DECL_NONCONVERTING_P.
* typeck.c (convert_for_assignment): Take flags parm, pass it to
perform_implicit_conversion_flags.
(cp_build_modify_expr): Pass flags to convert_for_assignment.
(convert_for_initialization): Likewise.
* typeck2.c (store_init_value): Take flags parm, pass to
digest_init_flags.
(digest_init_flags): Add flags parm to digest_init.
(digest_init_r): Take flags parm, pass to convert_for_initialization.
(process_init_constructor_array): Pass it.
(process_init_constructor_record): Likewise.
(process_init_constructor_union): Likewise.

From-SVN: r147677

15 years agore PR debug/40109 (Incorrect debug info nesting for typedef statements within namespaces)
Dodji Seketeli [Mon, 18 May 2009 19:19:52 +0000 (19:19 +0000)]
re PR debug/40109 (Incorrect debug info nesting for typedef statements within namespaces)

Fix for PR debug/40109

gcc/ChangeLog:
PR debug/40109
* dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
child of the containing namespace's DIE.

gcc/testsuite/ChangeLog:
PR debug/40109
* g++.dg/debug/dwarf2/nested-1.C: New test.

From-SVN: r147674

15 years ago* config/mips/mips.md (*zero_extend<GPR:mode>_trunc<SHORT:mode>,
Adam Nemet [Mon, 18 May 2009 18:43:25 +0000 (18:43 +0000)]
* config/mips/mips.md (*zero_extend<GPR:mode>_trunc<SHORT:mode>,

*zero_extendhi_truncqi):  Move after the zero_extend patterns.
(*extenddi_truncate<mode>, *extendsi_truncate<mode>): Move after the
extend patterns.

From-SVN: r147673

15 years agore PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
H.J. Lu [Mon, 18 May 2009 17:21:13 +0000 (17:21 +0000)]
re PR target/39942 (Nonoptimal code - leaveq; xchg   %ax,%ax; retq)

2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39942
* config/i386/i386.c (ix86_avoid_jump_misspredicts): Replace
gen_align with gen_pad.
(ix86_reorg): Check ASM_OUTPUT_MAX_SKIP_PAD instead of
#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN.

* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): New.
* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.

* config/i386/i386.md (align): Renamed to ...
(pad): This.  Replace ASM_OUTPUT_MAX_SKIP_ALIGN with
ASM_OUTPUT_MAX_SKIP_PAD.

From-SVN: r147671

15 years agore PR testsuite/39907 (Aligned access to unaligned address)
H.J. Lu [Mon, 18 May 2009 16:53:25 +0000 (16:53 +0000)]
re PR testsuite/39907 (Aligned access to unaligned address)

2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR testsuite/39907
* gcc.target/x86_64/abi/asm-support.S (snapshot_ret): Preserve
stack alignment.

From-SVN: r147667

15 years ago* config.gcc: Fix variable syntax.
Andreas Schwab [Mon, 18 May 2009 16:49:50 +0000 (16:49 +0000)]
* config.gcc: Fix variable syntax.

From-SVN: r147666

15 years ago* config.gcc: Fix variable syntax.
Andreas Schwab [Mon, 18 May 2009 16:22:47 +0000 (16:22 +0000)]
* config.gcc: Fix variable syntax.

From-SVN: r147665

15 years agore PR target/39531 (m68k gcc does not convert andil to bclr when compiled on a 64bit...
Andreas Schwab [Mon, 18 May 2009 15:36:18 +0000 (15:36 +0000)]
re PR target/39531 (m68k gcc does not convert andil to bclr when compiled on a 64bit host)

PR target/39531
* config/m68k/m68k.c (output_andsi3): Mask off sign bit copies
before calling exact_log2.
(output_iorsi3): Likewise.
(output_xorsi3): Likewise.

From-SVN: r147664

15 years agore PR fortran/40164 (Fortran 2003: "Arrays of procedure pointers" (using PPCs))
Janus Weil [Mon, 18 May 2009 14:44:55 +0000 (16:44 +0200)]
re PR fortran/40164 (Fortran 2003: "Arrays of procedure pointers" (using PPCs))

2009-05-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40164
* primary.c (gfc_match_rvalue): Handle procedure pointer components in
arrays.
* resolve.c (resolve_ppc_call,resolve_expr_ppc): Resolve component and
array references.
(resolve_fl_derived): Procedure pointer components are not required to
have constant array bounds in their return value.

2009-05-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40164
* gfortran.dg/proc_ptr_comp_8.f90: New.

From-SVN: r147663