* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
	* include/ext/random.tccAdd out-of-line functions for
	__gnu_cxx::normal_mv_distribution<>.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/equal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/serialize.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/inequal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/default.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/parms.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/explicit_instantiation/1.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/typedefs.cc: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190960 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/54420
	* cp-tree.h (LAMBDANAME_P): Remove.
	(LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
	* cp-lang.c (cxx_dwarf_name): Likewise.
	* error.c (dump_aggr_type): Likewise.
	* semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190961 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/54441
	* decl.c (reshape_init_class): Handle invalid initializer for
	0-length array member.

	* error.c (dump_type_suffix): Correct handling of 0-length arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190962 138bc75d-0d04-0410-961f-82ee72b054a4
	Add missed ChangeLog entry for r190919.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190965 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/54461
	* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
	target-libgloss if not configured --with-avrlibc=no.
	* configure: Regenerate.

libgcc/
	PR target/54461
	* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
	not configured --with-avrlibc=no.
	* config/avr/t-avrlibc: New file.
	* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
	(DPBIT_FUNCS): Ditto.
	(TPBIT_FUNCS): Ditto.

gcc/
	PR target/54461
	* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
	not configured --with-avrlibc=no.
	(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
	--with-avrlibc=no.
	* config/avr/avrlibc.h: New file.
	* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
	not configured --with-avrlibc=no.
	* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__



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

	PR c++/54191
	* search.c (lookup_base): Add tsubst_flags_t parameter.
	(adjust_result_of_qualified_name_lookup, check_final_overrider):
	Adjust.
	* name-lookup.c (do_class_using_decl): Adjust.
	* typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
	Likewise.
	* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
	build_up_reference): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* tree.c (maybe_dummy_object): Likewise.
	* call.c (build_conditional_expr_1, build_over_call): Likewise.
	* cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
	Remove.
	(enum base_access_flags, ba_quiet): Remove.
	(uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
	* except.c (can_convert_eh): Adjust.
	* decl.c (grokdeclarator): Likewise.
	* typeck.c (comp_except_types, build_class_member_access_expr,
	finish_class_member_access_expr, get_member_function_from_ptrfunc,
	build_static_cast_1, get_delta_difference_1): Likewise.
	* class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
	warn_about_ambiguous_bases): Likewise.
	(uniquely_derived_from_p, publicly_uniquely_derived_p): Define.

/testsuite
2012-09-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54191
	* g++.dg/cpp0x/sfinae39.C: New.


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

	* include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
	(operator()): Use __generate() function of _M_nd.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190975 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>

	PR fortran/54474
	* gfortran.dg/coarray_poly_3.f90: Adjust error messages.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190977 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46590
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not
	update SSA form here.
	(canonicalize_induction_variables): Assert we do not need to
	update SSA form.
	(tree_unroll_loops_completely): Update SSA form here.
	* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
	Do not verify loop-closed SSA form if SSA form is not up-to-date.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190978 138bc75d-0d04-0410-961f-82ee72b054a4
	* bb-reorder.c: Clarify a few points in the head comment and fix
	long lines in other comments.
	(find_traces): Fix long line.
	(find_traces_1_round): Likewise.
	(better_edge_p): Likewise.
	(connect_traces): Likewise.
	(duplicate_computed_gotos): Likewise.
	(find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces.
	(fix_up_fall_thru_edges): Fix formatting.


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

	* src/c++11/random.cc (random_device::_M_init): Check whether cpuid
	instruction is available by using __get_cpuid_max.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190982 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
	Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
	Use nonimmediate_operand instead of
	nonimm_not_xmm0_operand{,_maybe_avx}.
	(<sse4_1_avx2>_pblendvb): Ditto.
	(sse4_2_pcmpestr): Ditto.
	(*sse4_2_pcmpestr_unaligned): Ditto.
	(sse4_2_pcmpistr): Ditto.
	(*sse4_2_pcmpistr_unaligned): Ditto.
	* config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
	(nonimm_not_xmm0_operand): Ditto.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.
	* config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190985 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/54486
	* builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
	build_int_cst with size_type_node instead of size_int.

	* c-c++-common/pr54486.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190986 138bc75d-0d04-0410-961f-82ee72b054a4
	PR bootstrap/54484
	* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
	argument.

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

        PR fortran/54462
        * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190989 138bc75d-0d04-0410-961f-82ee72b054a4
	* hooks.c (hook_int_rtx_mode_as_bool_0): New function.
	* hooks.h (hook_int_rtx_mode_as_bool_0): Declare it.
	* output.h (default_address_cost): Add machine_mode and address space
	arguments.
	* target.def (address_cost): Likewise.
	* rtlanal.c (address_cost): Pass mode and address space to target hook.
	(default_address_cost): Add unnamed machine_mode and address space
	arguments.
	* doc/tm.texi: Regenerate.
	* config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/arm/arm.c (arm_address_cost): Add machine_mode and address
	space arguments.
	* config/avr/avr.c (avr_address_cost): Likewise.
	* config/bfin/bfin.c (bfin_address_cost): Likewise.
	* config/cr16/cr16.c (cr16_address_cost): Likewise.
	* config/cris/cris.c (cris_address_cost): Likewise.
	* config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
	* config/i386/i386.c (ix86_address_cost): Likewise.
	* config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
	address space arguments.  Pass them on in recursive invocation.
	* config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
	space arguments.
	* config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
	* config/mep/mep.c (mep_address_cost): Add machine_mode and address
	space arguments.
	* config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
	* config/mips/mips.c (mips_address_cost): Likewise.
	* config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
	address space arguments.
	(mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to
	mn10300_address_cost.
	* config/pa/pa.c (hppa_address_cost): Add machine_mode and address
	space arguments.
	* config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
	(TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of
	hook_int_rtx_bool_0.
	* config/rx/rx.c (rx_address_cost): Add machine_mode and address
	space arguments.
	* config/s390/s390.c (s390_address_cost): Likewise.
	* config/score/score-protos.h (score_address_cost): Likewise.
	* config/score/score.c (score_address_cost): Likewise.
	* config/sh/sh.c (sh_address_cost): Likewise.
	* config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
	* config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
	and address space arguments.
	* config/v850/v850.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/vax/vax.c (vax_address_cost): Add machine_mode and address
	space arguments.
	* config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190990 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-05  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54296
	* include/bits/hashtable.h (_M_erase(size_type, __node_base*,
	__node_type*)): New.
	(erase(const_iterator)): Use latter.
	(_M_erase(std::true_type, const key_type&)): New, likewise.
	(_M_erase(std::false_type, const key_type&)): New. Find all nodes
	matching the key before deallocating them so that the key doesn't
	get invalidated.
	(erase(const key_type&)): Use the new member functions.
	* testsuite/23_containers/unordered_map/erase/54296.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/54296.cc: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190991 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
	__builtin_ia32_ldmxcsr intrinsics.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190992 138bc75d-0d04-0410-961f-82ee72b054a4
	* ChangeLog: Fix date of my last commit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190993 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-05  Andrew Pinski  <apinski@cavium.com>

 	* optabs.c (emit_conditional_add): Correct comment about the arguments.
	Remove code which might swap op2 and op3 since they cannot be swapped.
	* doc/md.texi (add@var{mode}cc): Fix document about how the arguments
	are used.



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