1. 18 Oct, 2011 30 commits
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 49b804d0
      	PR fortran/50420
      	* trans-types.c (gfc_build_array_type): Don't force lower bound to one
      	in the deferred case.
      
      From-SVN: r180151
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · dbeebc56
      	PR fortran/50420
      	* simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
      	Don't set already set array ref.
      
      From-SVN: r180150
      Mikael Morin committed
    • array.c (gfc_find_array_ref): Remove coarray-specific handling. · db171167
      	* array.c (gfc_find_array_ref): Remove coarray-specific handling.
      
      From-SVN: r180149
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 66b23e93
      	PR fortran/50420
      	* check.c (dim_corank_check): Use gfc_get_corank to get corank.
      
      From-SVN: r180148
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 6cab5e07
      	PR fortran/50420
      	* trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.
      
      	PR fortran/50420
      	* trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
      	the scalarization chain initialization.
      
      From-SVN: r180147
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 411e1a0f
      	PR fortran/50420
      	* trans-intrinsic.c (walk_coarray): Allow subreferences after a
      	coarray object reference.
      
      From-SVN: r180146
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 6b81e94d
      	PR fortran/50420
      	* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
      	if they are coarrays.
      
      From-SVN: r180145
      Mikael Morin committed
    • trans-array.h (gfc_walk_array_ref): New prototype. · 42ac5ee1
      	* trans-array.h (gfc_walk_array_ref): New prototype.
      	* trans-array.c (gfc_walk_array_ref): New function, containing
      	all but the beginning of gfc_walk_variable_expr's code.
      	(gfc_walk_variable_expr): Use gfc_walk_array_ref.
      
      From-SVN: r180144
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · 700535b7
      	PR fortran/50420
      	* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
      	ndim for the descriptor's rank.
      
      From-SVN: r180143
      Mikael Morin committed
    • re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) · a04b23d8
      	PR fortran/50420
      	* trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
      	from zero, and add then the relevant offset (either ndim or loop.dimen)
      	depending on context.
      
      From-SVN: r180142
      Mikael Morin committed
    • trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space. · 7c5950bd
      	* trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.
      
      From-SVN: r180141
      Mikael Morin committed
    • trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization earlier. · c2558afc
      	* trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization
      	earlier.
      
      From-SVN: r180140
      Mikael Morin committed
    • config.host (arm*-*-linux*): Add driver-arm.o and x-arm. · 33aa08b3
      2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
      	* config/arm/arm.opt: Add 'native' processor_type and
      	arm_arch enum values.
      	* config/arm/arm.h (host_detect_local_cpu): New prototype.
      	(EXTRA_SPEC_FUNCTIONS): New define.
      	(MCPU_MTUNE_NATIVE_SPECS): New define.
      	(DRIVER_SELF_SPECS): New define.
      	* config/arm/driver-arm.c: New file.
      	* config/arm/x-arm: New file.
      	* doc/invoke.texi (ARM Options): Document -mcpu=native,
      	-mtune=native and -march=native.
      
      From-SVN: r180139
      Andrew Stubbs committed
    • parser.c: Remove ENABLE_CHECKING markers around debugging routines. · aa6e7237
      	* parser.c: Remove ENABLE_CHECKING markers around debugging
      	routines.
      	(cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN.
      	Make static
      	When printing CURR_TOKEN surround it in [[ ]].
      	Start printing at START_TOKEN.
      	Update all users.
      	(cp_debug_print_tree_if_set): New.
      	(cp_debug_print_context): New.
      	(cp_debug_print_context_stack): New.
      	(cp_debug_print_flag): New.
      	(cp_debug_print_unparsed_function): New.
      	(cp_debug_print_unparsed_queues): New.
      	(cp_debug_parser_tokens): New.
      	(cp_debug_parser): New.
      	(cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr.
      	(cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL.
      	* parser.h (cp_lexer_dump_tokens): Remove declaration.
      	(cp_debug_parser): Declare.
      
      From-SVN: r180136
      Diego Novillo committed
    • re PR rtl-optimization/50205 (ICE: in code_motion_path_driver, at… · ea3f6aa8
      re PR rtl-optimization/50205 (ICE: in code_motion_path_driver, at sel-sched.c:6581 with -fselective-scheduling2 and custom flags)
      
      	PR rtl-optimization/50205
      	* sel-sched.c (count_occurrences_1): Simplify on the assumption that
      	p->x is a register.  Forbid substitution when the same register is
      	found in a different mode.
      	(count_occurrences_equiv): Assert that 'what' is a register.
      
      	* gcc.dg/pr50205.c: New.
      
      From-SVN: r180135
      Alexander Monakov committed
    • re PR tree-optimization/50767 (ICE: in refs_may_alias_p_1, at… · 748c5114
      re PR tree-optimization/50767 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1004 with -O2 -fno-tree-copy-prop -fno-tree-dominator-opts)
      
      2011-10-18  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/50767
      	* tree-ssa-pre.c (create_expression_by_pieces): Update the
      	folded statement.
      
      	* gcc.dg/torture/pr50767.c: New testcase.
      
      From-SVN: r180134
      Richard Guenther committed
    • In gcc/objc/: 2011-10-18 Mikael Pettersson <mikpe@it.uu.se> · 5b6b2942
      In gcc/objc/:
      2011-10-18  Mikael Pettersson  <mikpe@it.uu.se>
      
      	PR objc/50743
      	* objc-act.c (check_duplicates): Cast TREE_VEC_LENGTH result to
      	size_t to avoid signed/unsigned
      	comparison.
      	(insert_method_into_method_map): Likewise.
      
      From-SVN: r180132
      Mikael Pettersson committed
    • gcc/ · 6cc4833a
          * config/arm/arm.c (arm_block_move_unaligned_straight)
          (arm_adjust_block_mem, arm_block_move_unaligned_loop)
          (arm_movmemqi_unaligned): New.
          (arm_gen_movmemqi): Support unaligned block copies.
      
          gcc/testsuite/
          * lib/target-supports.exp (check_effective_target_arm_unaligned):
          New.
          * gcc.target/arm/unaligned-memcpy-1.c: New.
          * gcc.target/arm/unaligned-memcpy-2.c: New.
          * gcc.target/arm/unaligned-memcpy-3.c: New.
          * gcc.target/arm/unaligned-memcpy-4.c: New.
      
      From-SVN: r180131
      Julian Brown committed
    • re PR fortran/47023 (C_Sizeof: Rejects valid code) · 00820a2a
      2011-10-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/47023
      	* decl.c (verify_c_interop_param): Renamed to
      	'gfc_verify_c_interop_param'. Add error message for polymorphic
      	arguments.
      	(verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
      	polymorphic variables.
      	(verify_bind_c_sym): Renamed 'verify_c_interop'.
      	* gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
      	* check.c (gfc_check_sizeof): Ditto.
      	* resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
      	* symbol.c (verify_bind_c_derived_type): Ditto.
      
      
      2011-10-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/47023
      	* gfortran.dg/iso_c_binding_class.f03: New.
      
      From-SVN: r180130
      Janus Weil committed
    • 2011-10-18 Paolo Carlini <paolo.carlini@oracle.com> · fc8396e9
      	* Fix ChangeLogs.
      
      From-SVN: r180129
      Paolo Carlini committed
    • md.texi (vec_widen_ushiftl_hi, [...]): Document. · 36ba4aae
      
      	* doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
      	vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
      	* tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(op_code_prio): Likewise.
      	(op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
      	* optabs.c (optab_for_tree_code): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
      	* optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* expr.c (expand_expr_real_2): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
      	* tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
      	VEC_WIDEN_LSHIFT_LO_EXPR): New.
      	* cfgexpand.c (expand_debug_expr): Handle new tree codes.
      	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
      	vect_recog_widen_shift_pattern.
      	(vect_handle_widen_mult_by_const): Rename...
      	(vect_handle_widen_op_by_const): ...to this.  Handle shifts.
      	Add a new argument, update documentation.
      	(vect_recog_widen_mult_pattern): Assume that only second
      	operand can be constant.  Update call to
      	vect_handle_widen_op_by_const.
      	(vect_recog_over_widening_pattern): Fix typo.
      	(vect_recog_widen_shift_pattern): New.
      	* tree-vect-stmts.c (vectorizable_type_promotion): Handle
      	widening shifts.
      	(supportable_widening_operation): Likewise.
      	* tree-inline.c (estimate_operator_cost): Handle new tree codes.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
      	(vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
      	vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
      	Likewise.
      	* config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
      	New.
      	* config/arm/iterators.md (V_innermode): New.
      	* tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
      	for widening shift.
      
      From-SVN: r180128
      Ira Rosen committed
    • tree-ssa-alias.h (struct pt_solution): Remove vars_contains_restrict member. · d3553615
      2011-10-18  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-alias.h (struct pt_solution): Remove
      	vars_contains_restrict member.
      	(pt_solutions_same_restrict_base): Remove.
      	(pt_solution_set): Adjust.
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
      	vars_contains_restrict handling.
      	(dump_points_to_solution): Likewise.
      	(ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
      	* tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
      	field.
      	(new_var_info): Do not initialize it.
      	(ipa_escaped_pt): Adjust.
      	(make_constraint_from_restrict): Make the tag global.
      	(make_constraint_from_global_restrict): New function.
      	(make_constraint_from_heapvar): Remove.
      	(create_variable_info_for): Do not make restrict vars point
      	to NONLOCAL.
      	(intra_create_variable_infos): Likewise.
      	(find_what_var_points_to): Remove vars_contains_restrict handling.
      	(pt_solution_set): Adjust.
      	(pt_solution_ior_into): Likewise.
      	(pt_solutions_same_restrict_base): Remove.
      	(compute_points_to_sets): Do not test is_restrict_var.
      	* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
      	* gimple-pretty-print.c (pp_points_to_solution): Likewise.
      
      	* gcc.dg/torture/restrict-1.c: New testcase.
      
      From-SVN: r180127
      Richard Guenther committed
    • re PR tree-optimization/50672 (ice: verify_ssa failed: no immediate_use list) · 266fbb79
      2011-10-18  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50672
      	* tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
      	factored out of ...
      	(mark_virtual_phi_result_for_renaming): Use
      	mark_virtual_operand_for_renaming.
      	* tree-flow.h (mark_virtual_operand_for_renaming): Declare.
      	* tree-ssa-tail-merge.c (release_last_vdef): New function.
      	(purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
      	deleted basic block.
      	(tail_merge_optimize): Add argument to call to purge_bbs.
      
      From-SVN: r180126
      Tom de Vries committed
    • re PR middle-end/50716 (Segmentation fault caused by misaligned vector access) · cab35794
      2011-10-18  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/50716
      	* expr.c (get_object_or_type_alignment): New function.
      	(expand_assignment): Use it.
      	(expand_expr_real_1): Likewise.
      
      From-SVN: r180125
      Richard Guenther committed
    • Fix bootstrap on !NO_IMPLICIT_EXTERN_C and ia32 targets · d17687f6
      libcpp/
      
      	* include/line-map.h (struct linemap_stats): Change the type of
      	the members from size_t to long.
      	* macro.c (macro_arg_token_iter_init): Unconditionally initialize
      	iter->location_ptr.
      
      gcc/c-family/
      
      	* c-lex.c (fe_file_change): Use LINEMAP_SYSP when
      	!NO_IMPLICIT_EXTERN_C.
      
      gcc/
      	* input.c (dump_line_table_statistics): Use long, not size_t.
      
      From-SVN: r180124
      Dodji Seketeli committed
    • Remove bogus line · d5899fb5
      From-SVN: r180123
      Eric Botcazou committed
    • [multiple changes] · 4daba884
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* gcc/c-family/c-common.c (c_common_reswords): Add __bases,
      	__direct_bases.
      	* gcc/c-family/c-common.h: Add RID_BASES and RID_DIRECT_BASES.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* cp-tree.def: Add BASES as a new tree code.
      	* cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
      	(BASES_TYPE, BASES_DIRECT): Define.
      	(calculate_bases, finish_bases, calculate_direct_bases): Declare.
      	* parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
      	(cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
      	* pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
      	* semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
      	dfs_calculate_bases_pre, dfs_calculate_bases_post,
      	calculate_bases_helper): Define.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* g++.dg/ext/bases.C: New test.
      
      2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
      
      	* include/tr2/type_traits (bases, direct_bases, typelist): New.
      
      2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
      	* libstdc++-v3/include/Makefile.in: Regenerate.
      
      	* scripts/create_testsuite_files: Search tr2 directory.
      	* testsuite/libstdc++-dg/conformance.exp: Same.
      
      	* testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
      	* testsuite/tr2/bases/requirements/typedefs.cc: New.
      	* testsuite/tr2/bases/value.cc: New.
      	* testsuite/tr2/direct_bases/requirements/
      	explicit_instantiation.cc: New.
      	* testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
      	* testsuite/tr2/direct_bases/value.cc: New.
      
      From-SVN: r180121
      Benjamin Kosnik committed
    • Add sparc vec_perm patterns when VIS2. · 9d4dedaa
      	* config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
      	patterns.
      	* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
      	* config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
      
      From-SVN: r180119
      Richard Henderson committed
    • Daily bump. · d62fc6ed
      From-SVN: r180118
      GCC Administrator committed
  2. 17 Oct, 2011 10 commits
    • configure.ac: Add --with-native-system-header-dir. · 08b2bad2
      	* configure.ac: Add --with-native-system-header-dir.  Set and
      	substitute NATIVE_SYSTEM_HEADER_DIR.  Use native_system_header
      	when setting target_header_dir.
      	* config.gcc: Always set native_system_header_dir.
      	(*-*-gnu*): Set native_system_header_dir.  Don't use t-gnu.
      	(i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir.  Don't
      	use i386/t-djgpp.
      	(i[34567]86-*-mingw* | x86_64-*-mingw*): Set
      	native_system_header_dir.
      	(spu-*-elf*): Set native_system_header_dir.
      	* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
      	@NATIVE_SYSTEM_HEADER_DIR@.
      	(PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
      	* cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
      	(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
      	STANDARD_INCLUDE_COMPONENT.
      	(cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR.  Rename
      	STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
      	* system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
      	STANDARD_INCLUDE_COMPONENT.
      	* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
      	* config/i386/t-mingw-w32: Likewise.
      	* config/i386/t-mingw-w64: Likewise.
      	* config/spu/t-spu-elf: Likewise.
      	* config/i386/t-djgpp: Remove.
      	* config/t-gnu: Remove.
      	* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
      	(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
      	STANDARD_INCLUDE_COMPONENT.
      	* config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
      	* config/spu/spu-elf.h: Likewise.
      	* config/vms/xm-vms.h: Likewise.
      	* config/gnu.h: Likewise.
      	* config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
      	and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
      	NATIVE_SYSTME_HEADER_COMPONENT.
      	* doc/install.texi (Configuration): Document
      	--with-native-system-header-dir.  Mention it in the documentation
      	for --with-sysroot and --with-build-sysroot.
      	* doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
      	STANDARD_INCLUDE_DIR.  Rename STANDARD_INCLUDE_COMPONENT to
      	NATIVE_SYSTEM_HEADER_COMPONENT.  Rename uses of
      	STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
      	* doc/fragments.texi (Target Fragment): Don't document
      	NATIVE_SYSTEM_HEADER_DIR.
      	* configure, doc/tm.texi: Rebuild.
      
      Co-Authored-By: Ian Lance Taylor <iant@google.com>
      
      From-SVN: r180114
      Simon Baldwin committed
    • Fix predicates used in sparc VIS edge instructions. · d1947945
      	* config/sparc/sparc.md: Use register_or_zero_operand where rJ
      	is the constraint.
      
      From-SVN: r180113
      Richard Henderson committed
    • Segregate sparc's handling of vector vs. non-vector modes. · e00560c2
      gcc/
      	* config/sparc/sparc-modes.def: Add single entry vector modes for
      	DImode and SImode.
      	* config/sparc/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
      	mode iterators.
      	(mov<V32:mode>): Revert back to plain SFmode pattern.
      	(*movsf_insn): Likewise.
      	(mov<V64:mode>): Revert back to plain DFmode pattern.
      	(*movdf_insn_sp32): Likewise.
      	(*movdf_insn_sp32_v9): Likewise.
      	(*movdf_insn_sp64): Likewise.
      	(V64 mode splitters) Likewise.
      	(addsi3): Remove VIS alternatives.
      	(subsi3): Likewise.
      	(and<V64I:mode>3): Revert to DImode only pattern.
      	(and<V64I:mode>3_sp32): Likewise.
      	(*and<V64I:mode>3_sp64): Likewise.
      	(and<V32I:mode>3): Likewise.
      	(*and_not_<V64I:mode>_sp32): Likewise.
      	(*and_not_<V64I:mode>_sp64): Likewise.
      	(*and_not_<V32I:mode>): Likewise.
      	(ior<V64I:mode>3): Likewise.
      	(*ior<V64I:mode>3_sp32): Likewise.
      	(*ior<V64I:mode>3_sp64): Likewise.
      	(ior<V32I:mode>3): Likewise.
      	(*or_not_<V64I:mode>_sp32): Likewise.
      	(*or_not_<V64I:mode>_sp64): Likewise.
      	(*or_not_<V32I:mode>): Likewise.
      	(xor<V64I:mode>3): Likewise.
      	(*xor<V64I:mode>3_sp32): Likewise.
      	(*xor<V64I:mode>3_sp64): Likewise.
      	(xor<V32I:mode>3): Likewise.
      	(V64I mode splitters): Likewise.
      	(*xor_not_<V64I:mode>_sp32): Likewise.
      	(*xor_not_<V64I:mode>_sp64): Likewise.
      	(*xor_not_<V32I:mode>): Likewise.
      	(one_cmpl<V64I:mode>2): Likewise.
      	(*one_cmpl<V64I:mode>2_sp32): Likewise.
      	(*one_cmpl<V64I:mode>2_sp64): Likewise.
      	(one_cmpl<V32I:mode>2): Likewise.
      	(VM32, VM64, VMALL): New mode iterators.
      	(vbits, vconstr, vfptype): New mode attributes.
      	(mov<VMALL:mode>): New expander.
      	(*mov<VM32:mode>_insn): New insn.
      	(*mov<VM64:mode>_insn_sp64): New insn.
      	(*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
      	specifically for the register to memory case.
      	(vec_init<mode>): New expander.
      	(VADDSUB): New mode iterator.
      	(<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
      	with...
      	(<plusminus_insn><mode>3): New consolidated pattern.
      	(VL): New mode iterator for logical operations.
      	(vlsuf): New more attribute.
      	(vlop): New code iterator.
      	(vlinsn, vlninsn): New code attributes.
      	(<code><mode>3): New insn to non-negated vector logical ops.
      	(*not_<code><mode>3): Likewise for negated variants.
      	(*nand<mode>_vis): New insn.
      	(vlnotop): New code iterator.
      	(*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
      	(one_cmpl<mode>2): New insn.
      	(faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
      	(bshuffle<VM64:mode>_vis): Likewise.
      	(v<vis3_shift_patname><mode>3): Use GCM mode iterator.
      	(fp<plusminus_insn>64_vis): Use V1DI mode.
      	(VASS mode iterator): Use V1SI not SI mode.
      	* config/sparc/sparc.c (sparc_vis_init_builtins): Account for
      	single-entry vector mode changes.
      	(sparc_expand_builtin): Likewise.
      	(sparc_expand_vector_init): New function.
      	* config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/fand.c: Remove __LP64__ ifdefs and expect
      	all operations to emit VIS instructions.
      	* gcc.target/sparc/fandnot.c: Likewise.
      	* gcc.target/sparc/fnot.c: Likewise.
      	* gcc.target/sparc/for.c: Likewise.
      	* gcc.target/sparc/fornot.c: Likewise.
      	* gcc.target/sparc/fxnor.c: Likewise.
      	* gcc.target/sparc/fxor.c: Likewise.
      	* gcc.target/sparc/combined-1.c: Revert change to use -O2, no longer
      	needed.
      
      From-SVN: r180112
      David S. Miller committed
    • vshuf-v16hi.c: New test. · b2c4e315
      	* gcc.c-torture/execute/vshuf-v16hi.c: New test.
      	* gcc.dg/torture/vshuf-16.inc: New file.
      	* gcc.dg/torture/vshuf-2.inc: New file.
      	* gcc.dg/torture/vshuf-32.inc: New file.
      	* gcc.dg/torture/vshuf-4.inc: New file.
      	* gcc.dg/torture/vshuf-8.inc: New file.
      	* gcc.dg/torture/vshuf-main.inc: New file.
      	* gcc.dg/torture/vshuf-v16hi.c: New test.
      	* gcc.dg/torture/vshuf-v16qi.c: New test.
      	* gcc.dg/torture/vshuf-v2df.c: New test.
      	* gcc.dg/torture/vshuf-v2di.c: New test.
      	* gcc.dg/torture/vshuf-v2sf.c: New test.
      	* gcc.dg/torture/vshuf-v2si.c: New test.
      	* gcc.dg/torture/vshuf-v32qi.c: New test.
      	* gcc.dg/torture/vshuf-v4df.c: New test.
      	* gcc.dg/torture/vshuf-v4di.c: New test.
      	* gcc.dg/torture/vshuf-v4hi.c: New test.
      	* gcc.dg/torture/vshuf-v4sf.c: New test.
      	* gcc.dg/torture/vshuf-v4si.c: New test.
      	* gcc.dg/torture/vshuf-v8hi.c: New test.
      	* gcc.dg/torture/vshuf-v8qi.c: New test.
      	* gcc.dg/torture/vshuf-v8sf.c: New test.
      	* gcc.dg/torture/vshuf-v8si.c: New test.
      
      From-SVN: r180110
      Jakub Jelinek committed
    • fold-const.c (simple_operand_p_2): New function. · 6e796a83
      	* fold-const.c (simple_operand_p_2): New function.
      	(fold_truthop): Rename to
      	(fold_truth_andor_1): function name.
      	Additionally remove branching creation for logical and/or.
      	(fold_truth_andor): Handle branching creation for logical and/or here.
      
      From-SVN: r180109
      Kai Tietz committed
    • ggc-page.c (USING_MADVISE): Adjust ifdef to check for USING_MMAP. · 1eca213e
      2011-10-17  Andi Kleen  <ak@linux.intel.com>
      
             * ggc-page.c (USING_MADVISE): Adjust ifdef to check for
             USING_MMAP.
      
      From-SVN: r180107
      Andi Kleen committed
    • re PR tree-optimization/50746 (FAIL: gcc.dg/vect/pr37482.c (internal compiler… · 44729eb7
      re PR tree-optimization/50746 (FAIL: gcc.dg/vect/pr37482.c (internal compiler error) on powerpc-apple-darwin9)
      
      
              PR tree-optimization/50746
              * gcc.dg/vect/vect-114.c: Remove vect_hw_misalign.
      
      From-SVN: r180106
      Ira Rosen committed
    • re PR c++/50736 ([C++0x] ISO_IEC_14882-2011-5.1.2/10 - bug) · c6334ca9
      	PR c++/50736
      	* parser.c (cp_parser_lambda_introducer): Check for more
      	invalid captures.
      
      From-SVN: r180105
      Jason Merrill committed
    • avr.h (ASSEMBLER_DIALECT): Remove. · 7c3297ce
      	* config/avr/avr.h (ASSEMBLER_DIALECT): Remove.
      	* config/avr/avr.md (mcu_have_movw, mcu_mega): Remove attributes.
      	(adjust_len): Add alternative "call".
      	(isa, enabled): New insn attributes.
      	(length): Use match_test with AVR_HAVE_JMP_CALL instead of
      	mcu_mega attribute.
      	(*sbrx_branch<mode>): Ditto.
      	(*sbrx_and_branch<mode>): Ditto.
      	(*sbix_branch): Ditto.
      	(*sbix_branch_bit7): Ditto.
      	(*sbix_branch_tmp): Ditto.
      	(*sbix_branch_tmp_bit7): Ditto.
      	(jump): Ditto.
      	(negsi2): Use attribute "isa" instead of assembler dialect.
      	(extendhisi2): Ditto.
      	(call_insn, call_value_insn): Set adjust_len attribute.
      	(indirect_jump): Indent to coding rules.
      	(call_prologue_saves): Use isa attribute instead of mcu_mega.
      	(epilogue_restores): Ditto.  Fix setting of SP as described in the
      	RTX pattern.
      	(*indirect_jump): Fusion of *jcindirect_jump, *njcindirect_jump
      	and *indirect_jump_avr6.
      	(*tablejump): Fusion of *tablejump_rjmp and *tablejump_lib.
      	(*jcindirect_jump, *njcindirect_jump, *indirect_jump_avr6): Remove.
      	(*tablejump_rjmp, *tablejump_lib): Remove.
      	* config/avr/avr.c (adjust_insn_length): Handle ADJUST_LEN_CALL.
      
      From-SVN: r180104
      Georg-Johann Lay committed
    • re PR c++/44524 (improve diagnostic for . vs -> typo) · a7248d5f
      /cp
      2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/44524
      	* typeck.c (build_class_member_access_expr): Provide a better error
      	message for X.Y where X is a pointer to class type.
      	(finish_class_member_access_expr): Likewise.
      
      /testsuite
      2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/44524
      	* g++.dg/parse/error41.C: New.
      	* g++.dg/parse/error20.C: Adjust.
      
      From-SVN: r180103
      Paolo Carlini committed