2013-11-26  Richard Biener  <rguenther@suse.de>

	* pretty-print.c (output_buffer::~output_buffer): Really
	free the obstacks.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205379 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59287
	* tree-ssa-structalias.c (get_constraint_for_component_ref):
	Remove no longer necessary special-casing of union accesses.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205380 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] [1/4 Fix vtbx1] Allow signed and unsigned versions of intrinsics
to coexist.

gcc/
	* config/aarch64/aarch64-builtins.c
	(VAR1): Use new naming scheme for aarch64_builtins.
	(aarch64_builtin_vectorized_function): Use new
	aarch64_builtins names.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205383 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] [2/4 Fix vtbx1] Handle poly types in the new Simd types infrastructure

gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_type_qualifiers): Add qualifier_poly.
	(aarch64_build_scalar_type): Also build Poly types.
	(aarch64_build_vector_type): Likewise.
	(aarch64_build_type): Likewise.
	(aarch64_build_signed_type): New.
	(aarch64_build_unsigned_type): Likewise.
	(aarch64_build_poly_type): Likewise.
	(aarch64_init_simd_builtins): Also handle Poly types.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205384 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] [3/4 Fix vtbx1]Implement bsl intrinsics using builtins

gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_types_bsl_p_qualifiers): New.
	(aarch64_types_bsl_s_qualifiers): Likewise.
	(aarch64_types_bsl_u_qualifiers): Likewise.
	(TYPES_BSL_P): Likewise.
	(TYPES_BSL_S): Likewise.
	(TYPES_BSL_U): Likewise.
	(BUILTIN_VALLDIF): Likewise.
	(BUILTIN_VDQQH): Likewise.
	* config/aarch64/aarch64-simd-builtins.def (simd_bsl): New.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_bsl<mode>_internal): Handle more modes.
	(aarch64_simd_bsl<mode>): Likewise.
	* config/aarch64/arm_neon.h
	(vbsl<q>_<fpsu><8,16,32,64): Implement using builtins.
	* config/aarch64/iterators.md (VALLDIF): New.
	(Vbtype): Handle more modes.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205385 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] [4/4 Fix vtbx1] Handle vtbx{1,3} emulation sequence using
 other intrinsics

gcc/
	* config/aarch64/arm_neon.h (vtbx1_<psu>8): Emulate behaviour
	using other intrinsics.
	(vtbx3_<psu>8): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205386 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* cvt.c (cp_convert_and_check): Avoid calling cp_convert
	unnecessarily.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205387 138bc75d-0d04-0410-961f-82ee72b054a4
Fix --enable-werror-always build errors:

        * config/epiphany/epiphany.c (epiphany_expand_prologue):
        Remove unused variable save_config.
        (epiphany_compute_frame_size): Avoid signed/unsigned comparison in
        assert.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205388 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58700
	* decl.c (grokdeclarator): Don't try to pass declarator->id_loc
	to build_lang_decl_loc when declarator is null.

/testsuite
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58700
	* g++.dg/parse/bitfield4.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205389 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/58314
	PR target/50751
	* config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
	Prefix function names with 'sh_'.  Make them non-static.
	* config/sh/sh-protos.h (sh_disp_addr_displacement,
	sh_max_mov_insn_displacement): Add declarations.
	* config/sh/constraints.md (Q): Reject QImode.
	(Sdd): Use match_code "mem".
	(Snd): Fix erroneous matching of non-memory operands.
	* config/sh/predicates.md (short_displacement_mem_operand): New
	predicate.
	(general_movsrc_operand): Disallow PC relative QImode loads.
	* config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
	(*movqi, *movhi): Merge both insns into...
	(*mov<mode>): ... this new insn.  Replace generic 'm' constraints with
	'Snd' and 'Sdd' constraints.  Calculate insn length dynamically based
	on the operand types.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205390 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
2013-11-26  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.c (require_pic_register): Handle high pic base
	register for thumb-1.
	(arm_load_pic_register): Also initialize high pic base register.
	* doc/invoke.texi: Update documentation for option -mpic-register.

gcc/testsuite/ChangeLog
2013-11-26  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/thumb1-pic-high-reg.c: New case.
	* gcc.target/arm/thumb1-pic-single-base.c: New case.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205391 138bc75d-0d04-0410-961f-82ee72b054a4
Add -fuse-ld=bfd/-fuse-ld=gold support to exec-tool.in

	PR bootstrap/55552
	* configure.ac (install_gold_as_default): New.  Set to yes for
	--disable-ld or --enable-gold=default.
	(gcc_cv_ld_gold_srcdir): New.
	(gcc_cv_ld): Also check in-tree gold if install_gold_as_default
	is yes.
	(ORIGINAL_LD_BFD_FOR_TARGET): New AC_SUBST.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	* configure: Regenerated.

	* exec-tool.in (ORIGINAL_LD_BFD_FOR_TARGET): New variable.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	(original) [collect-ld && -fuse-ld=bfd]: Set to
	$ORIGINAL_LD_BFD_FOR_TARGET.
	(original) [collect-ld && -fuse-ld=gold]: Set to
	$ORIGINAL_LD_GOLD_FOR_TARGET.
	(dir) [collect-ld && ../gold/ld-new]: Set to gold.
	(fast_install) [collect-ld && ../gold/ld-new]: Set to yes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205392 138bc75d-0d04-0410-961f-82ee72b054a4
[gcc/]
2013-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59290
	* config/arm/arm.md (*zextendsidi_negsi): New pattern.
	* config/arm/arm.c (arm_new_rtx_costs): Initialise cost correctly
	for zero_extend case.

[gcc/testsuite/]
2013-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59290
	* gcc.target/arm/negdi-2.c: Scan more general register names.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205394 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59245
	* tree-vrp.c (set_value_range): Assert that we don't have
	overflowed constants (but our infinities).
	(set_value_range_to_value): Drop all overflow flags.
	(vrp_visit_phi_node): Likewise.
	(vrp_visit_assignment_or_call): Use set_value_range_to_value
	to set a constant range.

	* gcc.dg/torture/pr59245.c: New testcase.


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

	* config/arm/arm.c (arm_legitimize_address): Check xop1 is not
	a constant immediate before force_reg.

gcc/testsuite/

	* gcc.target/arm/20131120.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205397 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Remove parameter keep_aligning from get_inner_reference.
        * tree.h (get_inner_reference): Adjust header.
        * expr.c (get_inner_reference): Remove parameter keep_aligning.
        (get_bit_range, expand_assignment,
        expand_expr_addr_expr_1, expand_expr_real_1): Adjust.
        * asan.c (instrument_derefs): Adjust.
        * builtins.c (get_object_alignment_2): Adjust. Remove handling of
        VIEW_CONVERT_EXPR.
        * cfgexpand.c (expand_debug_expr): Adjust.
        * dbxout.c (dbxout_expand_expr): Adjust.
        * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
        loc_list_from_tree, fortran_common): Adjust.
        * fold-const.c (optimize_bit_field_compare,
        decode_field_reference, fold_unary_loc, fold_comparison,
        split_address_to_core_and_offset): Adjust.
        * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust.
        * simplifx-rtx.c (delegitimize_mem_from_attrs): Adjust.
        * tree-affine.c (tree_to_aff_combination,
        get_inner_reference_aff): Adjust.
        * tree-data-ref.c (split_constant_offset_1,
        dr_analyze_innermost): Adjust.
        * tree-vect-data-refs.c (vect_check_gather,
        vect_analyze_data_refs): Adjust.
        * tree-scalar-evolution.c (interpret_rhs_expr): Adjust.
        * tree-ssa-loop-ivopts.c (may_be_unaligned_p,
        split_address_cost): Adjust.
        * tsan.c (instrument_expr): Adjust.
        * ada/gcc-interface/decl.c (elaborate_expression_1): Adjust.
        * ada/gcc-interface/trans.c (Attribute_to_gnu): Adjust.
        * ada/gcc-interface/utils2.c (build_unary_op): Adjust.
        * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205398 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: If type defined as type, forward hash/equal functions.

Fixes http://golang.org/issue/6789 .


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205404 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	revised the ChangeLog from r205398:
	moved ada changes from gcc/ChangeLog to gcc/ada/Changelog


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205407 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/gomp/openmp-simd-1.c: Cleanup original tree dump.
	* gcc.dg/gomp/openmp-simd-2.c: Ditto.
	* g++.dg/gomp/openmp-simd-1.C: Ditto.
	* g++.dg/gomp/openmp-simd-2.C: Ditto.
	* gfortran.dg/c_loc_test_22.f90: Ditto.
	* gcc.dg/tree-ssa/attr-alias-2.c: Cleanup optimized tree dump.
	* gcc.dg/tree-ssa/isolate-5.c: Ditto.
	* gcc.dg/tree-ssa/pr57361.c: Cleanup dse1 tree dump.
	* gcc.dg/vect/vect-124.c: Cleanup vect tree dump.
	* gcc.dg/pr57518.c: Cleanup ira rtl dump.
	* gcc.dg/tree-prof/cold_partition_label.c: Cleanup saved temps.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205408 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59152
	* omp-low.c (expand_omp_for_static_chunk): Don't set loop->latch
	for the inner loop if collapse_bb is non-NULL.
	(expand_omp_simd): Use cont_bb rather than e->dest as latch.

	* c-c++-common/gomp/pr59152.c: New test.


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