/cp
2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 178
	PR c++/49132
	* typeck2.c (process_init_constructor_record): Do not complain about
	uninitialized const members, because within aggregate-initialization,
	members without explicit initializers are value-initialized.

/testsuite
2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 178
	PR c++/49132
	* g++.dg/cpp0x/aggr1.C: New.
	* g++.dg/cpp0x/aggr2.C: Likewise.
	* g++.dg/init/aggr11.C: Likewise.
	* g++.dg/init/aggr12.C: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211981 138bc75d-0d04-0410-961f-82ee72b054a4
        * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
        implementation with call to...
        * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
        function.
        * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
        Declare.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211982 138bc75d-0d04-0410-961f-82ee72b054a4
fix checking=fold

gcc/

        PR bootstrap/61598
        * fold-const.c (fold_checksum_tree): Use a hash_table of const
        tree_node * instead of tree_node *.
        (fold): Adjust.
        (print_fold_checksum): Likewise.
        (fold_check_failed): Likewise.
        (debug_fold_checksum): Likewise.
        (fold_build1_stat_loc): Likewise.
        (fold_build2_stat_loc): Likewise.
        (fold_build3_stat_loc): Likewise.
        (fold_build_call_array_loc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211985 138bc75d-0d04-0410-961f-82ee72b054a4
fix typo in winnt.c

gcc/

	PR c/61612
	* config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.

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

	* Makefile.in: Removed header file (ipa-ref-inline.h).
	* cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
	called.
	(cgraph_speculative_call_info): Likewise.
	(cgraph_for_node_thunks_and_aliases): Likewise.
	(cgraph_for_node_and_aliases): Likewise.
	(verify_cgraph_node): Likewise.
	* cgraph.h: Batch of IPA REF functions become member functions of
	symtab_node: add_reference, maybe_add_reference, clone_references,
	clone_referring, clone_reference, find_reference,
	remove_stmt_references, remove_all_references,
	remove_all_referring, dump_references, dump_referring,
	has_alias_p, iterate_reference, iterate_referring.
	* cgraphbuild.c (record_reference): New IPA REF function used.
	(record_type_list): Likewise.
	(record_eh_tables): Likewise.
	(mark_address): Likewise.
	(mark_load): Likewise.
	(mark_store): Likewise.
	(pass_build_cgraph_edges): Likewise.
	(rebuild_cgraph_edge): Likewise.
	(cgraph_rebuild_references): Likewise.
	(pass_remove_cgraph_callee_edges): Likewise.
	* cgraphclones.c (cgraph_clone_node): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	(cgraph_materialize_clone): Likewise.
	(cgraph_materialize_all_clones): Likewise.
	* cgraphunit.c (cgraph_reset_node): Likewise.
	(cgraph_reset_node): Likewise.
	(analyze_function): Likewise.
	(assemble_thunks_and_aliases): Likewise.
	(expand_function): Likewise.
	* ipa-comdats.c (propagate_comdat_group): Likewise.
	(enqueue_references): Likewise.
	* ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
	(create_specialized_node): Likewise.
	* ipa-devirt.c (referenced_from_vtable_p): Likewise.
	* ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
	* ipa-inline.c (reset_edge_caches): Likewise.
	(update_caller_keys): Likewise.
	(execute): Likewise.
	* ipa-prop.c (remove_described_reference): Likewise.
	(propagate_controlled_uses): Likewise.
	(ipa_edge_duplication_hook): Likewise.
	(ipa_modify_call_arguments): Likewise.
	* ipa-pure-const.c (propagate_pure_const): Likewise.
	* ipa-ref-inline.h: Header file removed, functions moved
	to symtab_node class.
	* ipa-ref.c (remove_reference): New class member function.
	(cannot_lead_to_return): New class member function.
	(referring_ref_list): Likewise.
	(referred_ref_list): Likewise.
	Rest of functions moved to symtab_node class.
	* ipa-ref.h: New member functions remove_reference,
	cannot_lead_to_return, referring_ref_list, referred_ref_list added
	to ipa_ref class.
	ipa_ref_list class has new member functions: first_reference,
	first_referring, clear, nreferences.
	* ipa-reference.c (analyze_function): New IPA REF function used.
	(write_node_summary_p): Likewise.
	(ipa_reference_write_optimization_summary): Likewise.
	* ipa-split.c (split_function): Likewise.
	* ipa-utils.c (ipa_reverse_postorder): Likewise.
	* ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
	(function_and_variable_visibility): Likewise.
	* ipa.c (has_addr_references_p): Likewise.
	(process_references): Argument type changed.
	(symtab_remove_unreachable_nodes): New IPA REF function used.
	(process_references): Likewise.
	(set_writeonly_bit): Likewise.
	* lto-cgraph.c: Implementation of new symtab_node member functions
	that uses new IPA REF functions.
	* lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used.
	* lto-streamer-out.c (output_symbol_p): Likewise.
	* lto-streamer.h (referenced_from_this_partition_p): Argument type
	changed.
	* lto/lto-partition.c (add_references_to_partition): New IPA REF function
	used.
	(add_symbol_to_partition_1): Likewise.
	(lto_balanced_map): Likewise.
	* lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
	* symtab.c: Implementation of new IPA REF API.
	* trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
	(ipa_tm_create_version): Likewise.
	(ipa_tm_execute): Likewise.
	* tree-emutls.c (gen_emutls_addr): Likewise.
	* tree-inline.c (copy_bb): Likewise.
	(delete_unreachable_blocks_update_callgraph): Likewise.
	* varpool.c (varpool_remove_unreferenced_decls): Likewise.
	(varpool_for_node_and_aliases): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211987 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
        check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
        Issue a strict overflow warning if appropriate.

testsuite:
2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.c-torture/execute/20140622-1.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211988 138bc75d-0d04-0410-961f-82ee72b054a4
Remove superfluous clobber of cc in arm_emit_call_insn

2014-06-25  Tom de Vries  <tom@codesourcery.com>

	* config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211990 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * check.c (check_co_minmaxsum): Add definable check.
        * expr.c (gfc_check_vardef_context): Fix context == NULL case.
        * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
        arguments.
        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation
        of temporary strings.

gcc/testsuite/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_7.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211992 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-25  Tobias Burnus  <burnus@net-b.de>

fortran/
        * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
        when assigning a coindexed RHS scalar to a noncoindexed LHS
        array.
        * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
        for a noncoindexed scalar RHS.

gcc/testsuite/
        * gfortran.dg/coarray/coindexed_1.f90: New.

libgfortran/
        * caf/single.c (assign_char4_from_char1,
        * assign_char1_from_char4,
        convert_type): New static functions.
        (_gfortran_caf_get, _gfortran_caf_send): Use them.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211993 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * interface.c (check_intents): Fix diagnostic with
        coindexed coarrays.

gcc/testsuite/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_33.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211994 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
	* include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
	* include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
	Likewise.
	* include/ext/alloc_traits.h: Fix comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211995 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
	New RAII utilities for working with allocators.
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
	__allocator_type typedef and use new __allocated_ptr type.
	(_Sp_counted_ptr_inplace): Likewise.
	(__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
	__allocate_guarded to to simplify exception handling.
	* include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
	* include/std/future (_Result_alloc::_M_destroy): Likewise.
	(_Result_alloc::_S_allocate_result): Likewise.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
	* testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
	with fancy pointer.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211996 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-25  Paul Gortmaker  <paul.gortmaker@windriver.com>
            Jakub Jelinek  <jakub@redhat.com>

        * gcc.c (set_multilib_dir): Malloc "." pointer as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211997 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gfortran.dg/default_format_denormal_2.f90:  Remove xfail for
	powerpc*-*-linux*.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212000 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
	allocator.
	* testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212006 138bc75d-0d04-0410-961f-82ee72b054a4
	* toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
	(backend_init) ... here; skip ira_init_once and backend_init_target.
	(target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized.
	(lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized;
	break out rtl initialization to ...
	(initialize_rtl): ... here; call also backend_init_target and ira_init_once.
	* toplev.h (initialize_rtl): New function.
	* function.c: Include toplev.h
	(init_function_start): Call initialize_rtl.
	* rtl.h (target_rtl): Add target_specific_initialized,
	lang_dependent_initialized.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212007 138bc75d-0d04-0410-961f-82ee72b054a4
Fix PR c++/61537

	* parser.c (cp_parser_elaborated_type_specifier): Only consider template
	parameter lists outside of function parameter scope.

	* g++.dg/template/pr61537.C: New testcase.

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

	PR tree-optimization/61607
	* tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
	loop if we redirected its latch edge.
	(thread_block_1): Do not cancel loops prematurely.


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

	* tree-ssa-dom.c (cprop_operand): Remove restriction on
	propagating volatile pointers.


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