Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202608 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * resolve.c (generate_component_assignments): Correctly handle
        * the
        case that the LHS is not allocated.

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_10.f90: Comment print
        * statement.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202609 138bc75d-0d04-0410-961f-82ee72b054a4
	* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.

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

	* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
	list with std=c++1y or std=gnu++1y.
	(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
	operator template to avoid adding template result to symbol table.
	* lambda.c (lambda_function): Return template result if call operator is
	a template.
	(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
	operator call building in order to support conversion of a non-capturing
	lambda template to a function pointer with help from ...
	(prepare_op_call): ... this new function.
	* decl2.c (check_member_template): Don't reject lambda call operator
	template in local [lambda] class.
	* pt.c (instantiate_class_template_1): Don't instantiate lambda call
	operator template when instantiating lambda class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202611 138bc75d-0d04-0410-961f-82ee72b054a4
Support using 'auto' in a function parameter list to introduce an implicit template parameter.

gcc/cp/
	* cp-tree.h (type_uses_auto_or_concept): Declare.
	(is_auto_or_concept): Declare.
	* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
	-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
	* type-utils.h: New header defining ...
	(find_type_usage): ... this new function based on pt.c (type_uses_auto)
	for searching a type tree given a predicate.
	* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
	(is_auto_or_concept): New function.
	(type_uses_auto_or_concept): New function.
	* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
	* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
	(cp_parser_new): Initialize fully_implicit_function_template_p.
	(cp_parser_lambda_expression): Copy and restore value of
	fully_implicit_function_template_p as per other parser fields.
	(cp_parser_parameter_declaration_list): Count generic
	parameters and call ...
	(add_implicit_template_parms): ... this new function to synthesize them
	with help from type-utils.h (find_type_usage), ...
	(tree_type_is_auto_or_concept): ... this new static function and ...
	(make_generic_type_name): ... this new static function.
	(cp_parser_direct_declarator): Account for implicit template parameters.
	(cp_parser_lambda_declarator_opt): Finish fully implicit template if
	necessary by calling ...
	(finish_fully_implicit_template): ... this new function.
	(cp_parser_init_declarator): Likewise.
	(cp_parser_function_definition_after_declarator): Likewise.
	(cp_parser_member_declaration): Likewise.
	* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
	(cp/parser.o): Likewise.

gcc/testsuite/
	g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now
	interpreted as implicit templates) to be expected pedwarns instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202612 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* cse.c (try_const_anchors): Punt on CC modes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202613 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early
	for internal calls.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202614 138bc75d-0d04-0410-961f-82ee72b054a4
Change log update for 202610-202612.

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

	* tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
	(dot_rdg_1): Handle control_dd.
	(create_edge_for_control_dependence): New function.
	(create_rdg_edges): Add control dependences if asked for.
	(build_rdg): Likewise.
	(generate_loops_for_partition): If there are not necessary
	control stmts remove all their dependencies.
	(collect_condition_stmts, rdg_flag_loop_exits): Remove.
	(distribute_loop): Pass on control dependences.
	(tree_loop_distribution): Compute control dependences and remove
	restriction on number of loop nodes.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202619 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/alpha.c: Include tree-ssa.h.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202621 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Fix parameters to vcvtx_high

	* config/aarch64/arm_neon.h
	(vcvtx_high_f32_f64): Fix parameters.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202623 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C

gcc/
	* config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New.
	(aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
	(aarch64_mul3_elt_to_128df): Likewise.
	(aarch64_mul3_elt_to_64v2df): Likewise.
	* config/aarch64/iterators.md (VEL): Also handle DFmode.
	(VMUL): New.
	(VMUL_CHANGE_NLANES) Likewise.
	(h_con): Likewise.
	(f): Likewise.
	* config/aarch64/arm_neon.h
	(vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation.

gcc/testsuite/
	* gcc.target/aarch64/mul_intrinsic_1.c: New.
	* gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202624 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Improve arm_neon.h vml<as>_lane handling.

gcc/
	* config/aarch64/aarch64-simd-builtins.def (fma): New.
	* config/aarch64/aarch64-simd.md
	(aarch64_mla_elt<mode>): New.
	(aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
	(aarch64_mls_elt<mode>): Likewise.
	(aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
	(aarch64_fma4_elt<mode>): Likewise.
	(aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
	(aarch64_fma4_elt_to_128v2df): Likewise.
	(aarch64_fma4_elt_to_64df): Likewise.
	(fnma<mode>4): Likewise.
	(aarch64_fnma4_elt<mode>): Likewise.
	(aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
	(aarch64_fnma4_elt_to_128v2df): Likewise.
	(aarch64_fnma4_elt_to_64df): Likewise.
	* config/aarch64/iterators.md (VDQSF): New.
	* config/aarch64/arm_neon.h
	(vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation.
	(vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise.

gcc/testsuite/
	* gcc.target/aarch64/fmla-intrinsic.c: New.
	* gcc.target/aarch64/mla-intrinsic.c: Likewise.
	* gcc.target/aarch64/fmls-intrinsic.c: Likewise.
	* gcc.target/aarch64/mls-intrinsic.c: Likewise.



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