Implement -fsanitize=vla-bound.
	* opts.c (common_handle_option): Handle vla-bound.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE):
	Define.
	* flag-types.h (enum sanitize_code): Add SANITIZE_VLA.
	* asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR.
c-family/
	* c-ubsan.c: Don't include hash-table.h.
	(ubsan_instrument_vla): New function.
	* c-ubsan.h: Declare it.
cp/
	* decl.c (cp_finish_decl): Move C++1y bounds checking...
	(compute_array_index_type): ...here.  Add VLA instrumentation.
	Call stabilize_vla_size.
	(grokdeclarator): Don't call stabilize_vla_size here.
c/
	* c-decl.c (grokdeclarator): Add VLA instrumentation.
testsuite/
	* g++.dg/ubsan/cxx1y-vla.C: New test.
	* c-c++-common/ubsan/vla-3.c: New test.
	* c-c++-common/ubsan/vla-2.c: New test.
	* c-c++-common/ubsan/vla-4.c: New test.
	* c-c++-common/ubsan/vla-1.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204334 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-03  Kugan Vivekanandarajah  <kuganv@linaro.org>

	gcc/testsuite/
	* gcc.target/arm/neon-vcond-gt.c: Scan for vbsl or vbit or vbif.
	* gcc.target/arm/neon-vcond-ltgt.c: Scan for vbsl or vbit or vbif.
	* gcc.target/arm/neon-vcond-unordered.c: Scan for vbsl or vbit or
	vbif.



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

	PR c++/38313
	* parser.c (cp_parser_constructor_declarator_p): Check that the
	class-name matches current_class_type.

/testsuite
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38313
	* g++.dg/lookup/name-clash10.C: New.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204342 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52071
	* g++.dg/parse/pr52071.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204343 138bc75d-0d04-0410-961f-82ee72b054a4
c-family/
	* c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
	(dump_ada_specs): Adjust prototype of second callback.
	* c-ada-spec.c (cpp_check): New global variable.
	(dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
	(print_generic_ada_decl): Likewise.
	(has_static_fields): Change return type to bool and add guard.
	(has_nontrivial_methods): New predicate.
	(is_tagged_type): Change return type to bool.
	(separate_class_package): Call has_nontrivial_methods.
	(pp_ada_tree_identifier): Minor tweaks.
	(dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
	(dump_ada_array_domains): Likewise.
	(dump_ada_array_type): Likewise.
	(dump_template_types): Remove cpp_check parameter and do not pass it to
	dump_generic_ada_node.
	(dump_ada_template): Likewise.
	(dump_generic_ada_node): Remove cpp_check parameter and do not pass it
	recursively.
	(print_ada_methods): Change return type to integer.  Remove cpp_check
	parameter and do not pass it down.
	(dump_nested_types): Remove cpp_check parameter and do not pass it to
	dump_generic_ada_node.
	(print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
	accessing methods.
	(print_ada_struct_decl): Remove cpp_check parameter and do not pass it
	down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
	value of print_ada_methods.
	(dump_ads): Rename cpp_check parameter to check and adjust prototype.
	Set cpp_check to it before invoking dump_ada_nodes.
	(dump_ada_specs): Likewise.
cp/
	* decl2.c (cpp_check): Change type of first parameter and deal with
	IS_TRIVIAL.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204344 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/avr/avr-log.c (avr_double_int_pop_digit): Delete.
	(avr_dump_double_int_hex): Likewise.
	(avr_log_vadump): Remove %D and %X handling.
	* config/avr/avr.c (avr_double_int_push_digit): Delete.
	(avr_map_op_t): Change map from double_int to unsigned int.
	(avr_map_op): Update accordingly.
	(avr_map, avr_map_metric, avr_has_nibble_0xf, avr_map_decompose)
	(avr_move_bits, avr_out_insert_bits, avr_fold_builtin): Operate on
	unsigned ints rather than double_ints.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204345 138bc75d-0d04-0410-961f-82ee72b054a4
	* runtime/os-unix.c [__sun__ && __svr4__]: Include <sched.h>.
	(__cilkrts_hardware_cpu_count) [__sun__ && __svr4__]: Use sysconf.
	(__cilkrts_yield) [__sun__ && __svr4__]: Use sched_yield.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204347 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/58946
	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Update all
	bbs with bbinfo[idx].op != NULL before all blocks with
	bbinfo[idx].op == NULL.

	* gcc.c-torture/compile/pr58946.c: New test.


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

	* config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
	little endian.



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

	* config/rs6000/vsx.md (*vsx_le_perm_store_<mode> for VSX_D):
	Replace the define_insn_and_split with a define_insn and two
	define_splits, with the split after reload re-permuting the source
	register to its original value.
	(*vsx_le_perm_store_<mode> for VSX_W): Likewise.
	(*vsx_le_perm_store_v8hi): Likewise.
	(*vsx_le_perm_store_v16qi): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204350 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Document
	macros.
	* target.def (float_exceptions_rounding_supported_p): New hook.
	* targhooks.c (default_float_exceptions_rounding_supported_p): New
	function.
	* targhooks.h (default_float_exceptions_rounding_supported_p):
	Declare.
	* doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P):
	New @hook.
	* doc/tm.texi: Regenerate.
	* config.gcc (powerpc*-*-linux*): Set extra_objs.
	* config/rs6000/rs6000-linux.c: New file.
	* config/rs6000/rs6000-protos.h
	(rs6000_linux_float_exceptions_rounding_supported_p): Declare.
	* config/rs6000/linux.h
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro.
	* config/rs6000/linux64.h
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise.
	* config/rs6000/t-linux (rs6000-linux.o): New rule.
	* config/rs6000/t-linux64 (rs6000-linux.o): Likewise.

c-family:
	* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
	New functions.
	(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.

testsuite:
	* gcc.dg/iec-559-macros-1.c, gcc.dg/iec-559-macros-2.c,
	gcc.dg/iec-559-macros-3.c, gcc.dg/iec-559-macros-4.c,
	gcc.dg/iec-559-macros-5.c, gcc.dg/iec-559-macros-6.c,
	gcc.dg/iec-559-macros-7.c, gcc.dg/iec-559-macros-8.c,
	gcc.dg/iec-559-macros-9.c: New tests.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204351 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58979
c-family/
	* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
testsuite/
	* g++.dg/diagnostic/pr58979.C: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204352 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58968
	* lra-spills.c (return_regno_p): New function.
	(lra_final_code_change): Use it.

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58968
	* gfortran.dg/pr58968.f: New



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204353 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/57445
	* trans-expr.c (gfc_conv_class_to_class): Remove spurious
	assert.

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/57445
	* gfortran.dg/optional_class_1.f90 : New test


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204356 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/58978
	* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): Don't modify
	use_stmt by single_imm_use directly.  Only call single_imm_use
	on SSA_NAMEs.

	* gcc.c-torture/compile/pr58978.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204357 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/58771
	* trans-io.c (transfer_expr): If the backend_decl for a derived
	type is missing, build it with gfc_typenode_for_spec.

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/58771
	* gfortran.dg/derived_external_function_1.f90 : New test


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204358 138bc75d-0d04-0410-961f-82ee72b054a4
	* optabs.c (expand_vec_perm): Revert one incorrect line from
	2013-10-31 change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204359 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/:
	* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
	* sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync
	builtins that take pointers.
	* lto-opts.c (lto_write_options): Write -fnon-call-exceptions
	if set.
	* lto-wrapper.c (merge_and_complain): Collect
	OPT_fnon_call_exceptions.
	(run_gcc): Pass -fnon-call-exceptions.
gcc/testsuite/:
	* g++.dg/ext/sync-4.C: New test.


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

	* config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap
	arguments to merge instruction for little endian.
	(vec_widen_umult_lo_v16qi): Likewise.
	(vec_widen_smult_hi_v16qi): Likewise.
	(vec_widen_smult_lo_v16qi): Likewise.
	(vec_widen_umult_hi_v8hi): Likewise.
	(vec_widen_umult_lo_v8hi): Likewise.
	(vec_widen_smult_hi_v8hi): Likewise.
	(vec_widen_smult_lo_v8hi): Likewise.



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