2014-06-20  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61540
	* ipa-prop.c (impossible_devirt_target): New function.
	(try_make_edge_direct_virtual_call): Use it, also instead of
	asserting.

testsuite/
        * g++.dg/ipa/pr61540.C: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211847 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-18  Yury Gribov  <y.gribov@samsung.com>

gcc/
	* asan.c (instrument_strlen_call): Fixed instrumentation of
	trailing byte.

gcc/testsuite/
	* c-c++-common/asan/strlen-overflow-1.c: New test.


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

	Make the tests big-endian friendly.

	* gcc.target/aarch64/aapcs64/test_25.c: Update.
	* gcc.target/aarch64/aapcs64/va_arg-1.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-12.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-2.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-3.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-4.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-5.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-6.c: Ditto.
	* gcc.target/aarch64/aapcs64/va_arg-7.c: Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211851 138bc75d-0d04-0410-961f-82ee72b054a4
Update definition of call_fusage_contains_non_callee_clobbers

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

	* target.def (call_fusage_contains_non_callee_clobbers): Update
	definition.
	* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211852 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/61556
	* call.c (build_over_call): Call build_this in template path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211853 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/59296
	* call.c (add_function_candidate): Avoid special 'this' handling
	if we have a ref-qualifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211854 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/rs6000/rs6000.md: Append `DONE' to preparation
	statements of `bswap' pattern splitters.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211857 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/33363
	* invoke.texi: Don't mention nonexisting -fcase-lower option.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211858 138bc75d-0d04-0410-961f-82ee72b054a4
	* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
	* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
	into SANITIZE_UNDEFINED.
	* doc/invoke.texi: Describe -fsanitize=bounds.
	* gimplify.c (gimplify_call_expr): Add gimplification of internal
	functions created in the FEs.
	* internal-fn.c: Move "internal-fn.h" after "tree.h".
	(expand_UBSAN_BOUNDS): New function.
	* internal-fn.def (UBSAN_BOUNDS): New internal function.
	* internal-fn.h: Don't define internal functions here.
	* opts.c (common_handle_option): Add -fsanitize=bounds.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
	BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
	* tree-core.h: Define internal functions here.
	(struct tree_base): Add ifn field.
	* tree-pretty-print.c: Include "internal-fn.h".
	(dump_generic_node): Handle functions without CALL_EXPR_FN.
	* tree.c (get_callee_fndecl): Likewise.
	(build_call_expr_internal_loc): New function.
	* tree.def (CALL_EXPR): Update description.
	* tree.h (CALL_EXPR_IFN): Define.
	(build_call_expr_internal_loc): Declare.
	* ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
	types.
	(ubsan_type_descriptor): Change bool parameter to enum
	ubsan_print_style.  Adjust the code.  Add handling of
	UBSAN_PRINT_ARRAY.
	(ubsan_expand_bounds_ifn): New function.
	(ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
	(ubsan_build_overflow_builtin): Likewise.
	(instrument_bool_enum_load): Likewise.
	(ubsan_instrument_float_cast): Likewise.
	* ubsan.h (enum ubsan_print_style): New enum.
	(ubsan_expand_bounds_ifn): Declare.
	(ubsan_type_descriptor): Adjust declaration.  Use a default parameter.
c-family/
	* c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
	(ubsan_walk_array_refs_r): New function.
	(c_genericize): Instrument array bounds.
	* c-ubsan.c: Include "internal-fn.h".
	(ubsan_instrument_division): Mark instrumented arrays as having
	side effects.  Adjust ubsan_type_descriptor call.
	(ubsan_instrument_shift): Likewise.
	(ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
	(ubsan_instrument_bounds): New function.
	(ubsan_array_ref_instrumented_p): New function.
	(ubsan_maybe_instrument_array_ref): New function.
	* c-ubsan.h (ubsan_instrument_bounds): Declare.
	(ubsan_array_ref_instrumented_p): Declare.
	(ubsan_maybe_instrument_array_ref): Declare.
testsuite/
	* c-c++-common/ubsan/bounds-1.c: New test.
	* c-c++-common/ubsan/bounds-2.c: New test.
	* c-c++-common/ubsan/bounds-3.c: New test.
	* c-c++-common/ubsan/bounds-4.c: New test.
	* c-c++-common/ubsan/bounds-5.c: New test.
	* c-c++-common/ubsan/bounds-6.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211859 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/arm/lto/lto.exp: Exit immediately if not arm*-*-* target.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211863 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/localalias.c: New testcase.
	* gcc.dg/localalias-2.c: New testcase.
	* gcc.dg/globalalias.c: New testcase.
	* gcc.dg/globalalias-2.c: New testcase.
	* ipa-visibility.c (function_and_variable_visibility): Disable
	temporarily local aliases for some targets.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211864 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.h (tls_model_names): New variable.
	* print-tree.c (print_node): Simplify.
	* varpool.c (tls_model_names): New variable.
	(dump_varpool_node): Output tls model.

	* lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211865 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-21  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
	* config/nios2/nios2.c: Include "builtins.h".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211868 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/localalias.c: Fix broken commit.
	* gcc.dg/globalalias.c: Likewise.


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

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

	PR target/61503
	* config/i386/i386.md (x86_64_shrd, x86_shrd,
	ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211873 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
	(mips_move_from_gpr_cost): Likewise.
	(mips_register_move_cost): Update accordingly.
	(mips_secondary_reload_class): Remove name of in_p.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211874 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote-tracking branch 'parent/master' into ipa-ref-refactoring
Function renamed to maybe_add_reference.