2014-10-08  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Change
	LINUX64_DRIVER_SELF_SPECS to LINUX_DRIVER_SELF_SPECS


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216011 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63485
	* tree.c (build_cplus_array_type): Look for a type with no
	typedef-name or attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216012 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63405
	* pt.c (tsubst_pack_expansion): Limit simple expansion to type packs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216013 138bc75d-0d04-0410-961f-82ee72b054a4
Add overlap functionality to gcov-tool.
2014-10-08  Rong Xu  <xur@google.com>

	* gcc/gcov-tool.c (profile_overlap): New driver function
        to compute profile overlap. 
	(print_overlap_usage_message): New.
	(overlap_usage): New.
	(do_overlap): New.
	(print_usage): Add calls to overlap function.
	(main): Ditto.
	* libgcc/libgcov-util.c (read_gcda_file): Fix format.
	(find_match_gcov_info): Ditto.
	(calculate_2_entries): New.
	(compute_one_gcov): Ditto.
	(gcov_info_count_all_cold): Ditto.
	(gcov_info_count_all_zero): Ditto.
	(extract_file_basename): Ditto.
	(get_file_basename): Ditto.
	(set_flag): Ditto.
	(matched_gcov_info): Ditto.
	(calculate_overlap): Ditto.
	(gcov_profile_overlap): Ditto.
	* libgcc/libgcov-driver.c (compute_summary): Make
        it avavilable for external calls.
	* gcc/doc/gcov-tool.texi: Add documentation.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216015 138bc75d-0d04-0410-961f-82ee72b054a4
2014-10-08  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* ChangeLog: Remove duplicated gfortran.dg.
	* gfortran.dg/implicit_4.f90: Fix some dg-error.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216016 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/vmx/3c-01a.c: Add default options from vmx.exp.
	* gcc.dg/vmx/ops.c: Likewise.
	* gcc.dg/vmx/ops-long-1.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216017 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	PR target/52941
	* config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
	atomic_fetch_<fetchop_name>si_hard,
	atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
	atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
	atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
	atomic_nand_fetch<mode>_hard): Add missing set of T_REG.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216023 138bc75d-0d04-0410-961f-82ee72b054a4
2014-10-07  Teresa Johnson  <tejohnson@google.com>

	PR bootstrap/63432.
	* tree-ssa-threadupdate.c (estimated_freqs_path): New function.
	(ssa_fix_duplicate_block_edges): Invoke it.
	(mark_threaded_blocks): Make two passes to avoid ordering dependences.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216024 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/57003
	* regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
	also check CALL_INSN_FUNCTION_USAGE for clobbers again after
	killing regs_invalidated_by_call.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216026 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libquadmath/55821
	* Makefile.am: Conditionally define info_TEXINFOS and
	libquadmath_TEXINFOS.
	* Makefile.in: Regenerate.


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

	PR tree-optimization/63445
	* tree-vrp.c (simplify_cond_using_ranges): Only warn about
	overflow for non-equality compares.

	* gcc.dg/Wstrict-overflow-26.c: New testcase.


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

	PR tree-optimization/61969
	* tree-nrv.c (pass_nrv::execute): Properly test for automatic
	variables.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216029 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/63480
	* c-typeck.c (pop_init_level): Don't warn about initializing
	with { }.

	* gcc.dg/pr63480.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216031 138bc75d-0d04-0410-961f-82ee72b054a4
2014-10-09  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/60132
    	* include/std/type_traits (is_trivially_copyable,
    	is_trivially_constructible, is_trivially_default_constructible,
    	is_trivially_copy_constructible, is_trivially_move_constructible,
    	is_trivially_assignable, is_trivially_copy_assignable,
    	is_trivially_move_assignable): New.
    	* testsuite/20_util/is_trivially_assignable/requirements/
    	typedefs.cc: Likewise.
    	* testsuite/20_util/is_trivially_assignable/requirements/
    	explicit_instantiation.cc: Likewise.
    	* testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
	* testsuite/20_util/is_trivially_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
	* testsuite/20_util/is_trivially_copyable/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_copyable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
	* testsuite/20_util/is_trivially_copy_assignable/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_copy_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_trivially_copy_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_copy_constructible/requirements/
	explicit_instantiation.cc: Likewise.
    	* testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
    	* testsuite/20_util/is_trivially_default_constructible/requirements/
    	typedefs.cc: Likewise.
    	* testsuite/20_util/is_trivially_default_constructible/requirements/
    	explicit_instantiation.cc: Likewise.
    	* testsuite/20_util/is_trivially_default_constructible/
	value.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_assignable/requirements/
    	typedefs.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_assignable/requirements/
    	explicit_instantiation.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_constructible/requirements/
    	typedefs.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_constructible/requirements/
    	explicit_instantiation.cc: Likewise.
    	* testsuite/20_util/is_trivially_move_constructible/value.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216032 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi: Document -fsanitize=bool and -fsanitize=enum.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216033 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/avr/avr.opt (mmcu=): Change to have a string value.
	(mn-flash=, mskip-bug, march=, mrmw): New options.
	(HeaderInclude): New.
	(mmcu=): Remove Var / Init clauses.
	* config/avr/avr.h (DRIVER_SELF_SPECS): Translate -mmcu into a
	-specs option.
	(SYMBOL_FLAG_IO, SYMBOL_FLAG_ADDRESS): Define.
	(ASM_OUTPUT_ALIGNED_BSS): Use avr_asm_asm_output_aligned_bss.
	(SYMBOL_FLAG_IO_LOW): Define.
	(avr_device_to_as, avr_device_to_ld): Don't declare.
	(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
	(avr_device_to_devicelib, avr_device_to_sp8): Likewise.
	(EXTRA_SPEC_FUNCTIONS): Don't define.
	(ASM_SPEC): Translate -arch= option to -mmcu= option.
	(LINK_SPEC): Translate -arch= option to -m= option.
	Don't use device_to_ld / device_to_data_start.
	(STARTFILE_SPEC): Now empty.
	(ASM_SPEC): Add -%{mrelax: --mlink-relax}.
	* config/avr/gen-avr-mmcu-specs.c: New file.
	* config/avr/t-avr (gen-avr-mmcu-specs$(build_exeext)): New rule.
	(s-device-specs): Likewise.
	(GCC_PASSES): Add s-device-specs.
	(install-driver): Depend on install-device-specs.
	(install-device-specs): New rule.
	* config/avr/avr.c (avr_option_override): Look up mcu arch by
	avr_arch_index and provide fallback initialization for avr_n_flash.
	(varasm.h): #include.
	(avr_print_operand) <i>: Allow SYMBOL_REF with SYMBOL_FLAG_IO;
	(avr_handle_addr_attribute, avr_eval_addr_attrib): New functions.
	(avr_attribute_table): Add "io", "address" and "io_low".
	(avr_asm_output_aligned_decl_common): Change type of decl to tree.
	Add special handling for symbols with "io" and/or "address" attributes.
	(avr_asm_asm_output_aligned_bss): New function.
	(avr_encode_section_info): Set SYMBOL_FLAG_IO and SYMBOL_FLAG_ADDRESS
	as appropriate.  Handle io_low attribute.
	(avr_out_sbxx_branch): Handle symbolic io addresses.
	(avr_xload_libgcc_p, avr_nonconst_pointer_addrspace): Use
	avr_n_flash instead of avr_current_device->n_flash.
	(avr_pgm_check_var_decl, avr_insert_attributes): Likewise.
	(avr_emit_movmemhi): Likewise.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Likewise.
	Use TARGET_RMW instead of avr_current_device->dev_attributes.
	Don't define avr_current_device->macro (that's the specfile's job).
	Use TARGET_SKIP_BUG instead of avr_current_device->errata_skip.
	* config/avr/avr.c (avr_2word_insn_p): Likewise.
	* config/avr/avr.md (*cpse.ne): Likewise.
	(mov<mode>): Use avr_eval_addr_attrib.
	(cbi): Change constraint for low_io_address_operand operand to "i".
	(sbi, sbix_branch, sbix_branch_bit7, insv.io, insv.not.io): Likewise.
	* config/avr/predicates.md (io_address_operand):
	Allow SYMBOL_REF with SYMBOL_FLAG_IO.
	(low_io_address_operand): Allow SYMBOL_REF with SYMBOL_FLAG_IO_LOW.
	* config/avr/avr-protos.h (avr_asm_output_aligned_decl_common):
	Update prototype.
	(avr_eval_addr_attrib, avr_asm_asm_output_aligned_bss): Prototype.
	* config/avr/genmultilib.awk: Use -march=.
	Remove Multilib matches processing.
	* config/avr/t-multilib, config/avr/avr-tables.opt: Regenerate.
	* config/avr/avr-arch.h: Add double include guard.
	(avr_mcu_t) <library_name>: Update comment.
	* config/avr/driver-avr.c (avr_device_to_as): Delete.
	(avr_device_to_ld, avr_device_to_data_start): Likewise.
	(avr_device_to_startfiles, avr_device_to_devicelib): Likewise.
	(avr_device_to_sp8): Likewise.
	* config/avr/genopt.sh:  Instead avr_mcu, emit an Enum for avr_arch.

	* doc/extend.texi (io, address): Document new AVR variable attributes.
	(io_low): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216034 138bc75d-0d04-0410-961f-82ee72b054a4
	* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
	built-ins.
	* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
	remainder, rint and signbit.
	* trans-decl.c (save_fp_state, restore_fp_state): Move to
	trans-intrinsic.c
	(gfc_generate_function_code): Use new names for these two functions.
	* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
	emit code from the front-end.
	* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
	conv_ieee_function_args, conv_intrinsic_ieee_builtin,
	conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
	conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
	conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
	conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
	New functions.
	* trans.h (gfc_conv_ieee_arithmetic_function,
	gfc_save_fp_state, gfc_restore_fp_state): New prototypes.

	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
	ieee_rem_*, ieee_next_after_*): Remove functions.
	* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.


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

	PR tree-optimization/63380
	* tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
	may trap.

	* gcc.dg/torture/pr63380-1.c: New testcase.
	* gcc.dg/torture/pr63380-2.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216038 138bc75d-0d04-0410-961f-82ee72b054a4
2014-10-09  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
	* decl.c (grokdeclarator): constexpr only implies const in C++11.
gcc/testsuite/
	* g++.dg/cpp0x/constexpr-52892-1.C: Error on missing const in C++14.
	* g++.dg/cpp0x/constexpr-array-ptr7.C: Likewise.
	* g++.dg/cpp0x/constexpr-diag1.C: Add const.
	* g++.dg/cpp0x/constexpr-diag3.C: Likewise.
	* g++.dg/cpp0x/constexpr-ex1.C: Likewise.
	* g++.dg/cpp0x/constexpr-ex2.C: Likewise.
	* g++.dg/cpp0x/constexpr-ex4.C: Likewise.
	* g++.dg/cpp0x/constexpr-initlist.C: Likewise.
	* g++.dg/cpp0x/constexpr-ptrmem.C: Likewise.
	* g++.dg/cpp0x/constexpr-ptrsub.C: Likewise.
	* g++.dg/cpp0x/constexpr-ref4.C: Likewise.
	* g++.dg/cpp0x/constexpr-static6.C: Likewise.



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