* config/ia64/hpux.h (TARGET_LIBC_HAS_FUNCTION): Fix typo.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205432 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Marek Polacek  <polacek@redhat.com>

	* ubsan.c (ubsan_type_descriptor): If varpool_get_node returns NULL
	for a decl, recreate that decl.  Save into the hash table VAR_DECLs
	rather than ADDR_EXPRs.
testsuite/
	* c-c++-common/ubsan/undefined-1.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205433 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59288
	* tree-vect-loop.c (get_initial_def_for_induction): Do not
	re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.

	* gcc.dg/torture/pr59288.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205434 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59138
	* expr.c (emit_group_store): Don't write past the end of the structure.
	(store_bit_field): Fix formatting.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205436 138bc75d-0d04-0410-961f-82ee72b054a4
Don't create out-of-bounds BIT_FIELD_REF.

2013-11-27  Tom de Vries  <tom@codesourcery.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/59037
	* semantics.c (cxx_fold_indirect_ref): Don't create out-of-bounds
	BIT_FIELD_REF.

	* fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
	BIT_FIELD_REF.
	* gimple-fold.c (gimple_fold_indirect_ref): Same.
	* tree-cfg.c (verify_expr): Give error if BIT_FIELD_REF is
	out-of-bounds.

	* c-c++-common/pr59037.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205438 138bc75d-0d04-0410-961f-82ee72b054a4
Handle vector increment/decrement in build_unary_op

2013-11-27  Tom de Vries  <tom@codesourcery.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59032
	* c-typeck.c (build_unary_op): Allow vector increment and decrement.

	* typeck.c (cp_build_unary_op): Allow vector increment and decrement.

	* c-c++-common/pr59032.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205439 138bc75d-0d04-0410-961f-82ee72b054a4
Properly set ld_library_path in cilk-plus tests

	* gcc.dg/cilk-plus/cilk-plus.exp: Append to ld_library_path.
	Call set_ld_library_path_env_vars.
	* g++.dg/cilk-plus/cilk-plus.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205441 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.h (enum cgraph_simd_clone_arg_type): New.
	(struct cgraph_simd_clone_arg, struct cgraph_simd_clone): New.
	(struct cgraph_node): Add simdclone and simd_clones fields.
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen,
	ix86_simd_clone_adjust, ix86_simd_clone_usable): New functions.
	(TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): Define.
	* doc/tm.texi.in (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): Add.
	* doc/tm.texi: Regenerated.
	* ggc.h (ggc_alloc_cleared_simd_clone_stat): New function.
	* ipa-cp.c (determine_versionability): Fail if "omp declare simd"
	attribute is present.
	* omp-low.c: Include pretty-print.h, ipa-prop.h and tree-eh.h.
	(simd_clone_vector_of_formal_parm_types): New function.
	(simd_clone_struct_alloc, simd_clone_struct_copy,
	simd_clone_vector_of_formal_parm_types, simd_clone_clauses_extract,
	simd_clone_compute_base_data_type, simd_clone_mangle,
	simd_clone_create, simd_clone_adjust_return_type,
	create_tmp_simd_array, simd_clone_adjust_argument_types,
	simd_clone_init_simd_arrays): New functions.
	(struct modify_stmt_info): New type.
	(ipa_simd_modify_stmt_ops, ipa_simd_modify_function_body,
	simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone): New
	functions.
	(pass_data_omp_simd_clone): New variable.
	(pass_omp_simd_clone): New class.
	(make_pass_omp_simd_clone): New function.
	* passes.def (pass_omp_simd_clone): New.
	* target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
	TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): New target
	hooks.
	* target.h (struct cgraph_node, struct cgraph_simd_node): Declare.
	* tree-core.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Document.
	* tree.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Define.
	* tree-pass.h (make_pass_omp_simd_clone): New prototype.
	* tree-vect-data-refs.c: Include cgraph.h.
	(vect_analyze_data_refs): Inline by hand find_data_references_in_loop
	and find_data_references_in_bb, if find_data_references_in_stmt
	fails, still allow calls to #pragma omp declare simd functions
	in #pragma omp simd loops unless they contain data references among
	the call arguments or in lhs.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
	calls with no lhs.
	(vect_transform_loop): Allow NULL STMT_VINFO_VECTYPE for calls without
	lhs.
	* tree-vectorizer.h (enum stmt_vec_info_type): Add
	call_simd_clone_vec_info_type.
	(struct _stmt_vec_info): Add simd_clone_fndecl field.
	(STMT_VINFO_SIMD_CLONE_FNDECL): Define.
	* tree-vect-stmts.c: Include tree-ssa-loop.h,
	tree-scalar-evolution.h and cgraph.h.
	(vectorizable_call): Handle calls without lhs.  Assert
	!stmt_can_throw_internal instead of failing for it.  Don't update
	EH stuff.
	(struct simd_call_arg_info): New.
	(vectorizable_simd_clone_call): New function.
	(vect_transform_stmt): Call it.
	(vect_analyze_stmt): Likewise.  Allow NULL STMT_VINFO_VECTYPE for
	calls without lhs.
	* ipa-prop.c (ipa_add_new_function): Only call ipa_analyze_node
	if cgraph_function_with_gimple_body_p is true.
c/
	* c-decl.c (c_builtin_function_ext_scope): Avoid binding if
	external_scope is NULL.
cp/
	* semantics.c (finish_omp_clauses): For #pragma omp declare simd
	linear clause step call maybe_constant_value.
testsuite/
	* g++.dg/gomp/declare-simd-1.C (f38): Make sure
	simdlen is a power of two.
	* gcc.dg/gomp/simd-clones-2.c: Compile on all targets.
	Remove -msse2.  Adjust regexps for name mangling changes.
	* gcc.dg/gomp/simd-clones-3.c: Likewise.
	* gcc.dg/vect/vect-simd-clone-1.c: New test.
	* gcc.dg/vect/vect-simd-clone-2.c: New test.
	* gcc.dg/vect/vect-simd-clone-3.c: New test.
	* gcc.dg/vect/vect-simd-clone-4.c: New test.
	* gcc.dg/vect/vect-simd-clone-5.c: New test.
	* gcc.dg/vect/vect-simd-clone-6.c: New test.
	* gcc.dg/vect/vect-simd-clone-7.c: New test.
	* gcc.dg/vect/vect-simd-clone-8.c: New test.
	* gcc.dg/vect/vect-simd-clone-9.c: New test.
	* gcc.dg/vect/vect-simd-clone-10.c: New test.
	* gcc.dg/vect/vect-simd-clone-10.h: New file.
	* gcc.dg/vect/vect-simd-clone-10a.c: New file.
	* gcc.dg/vect/vect-simd-clone-11.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205442 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/59306
	* ubsan.c (instrument_null): Use gimple_store_p/gimple_assign_load_p
	instead of walk_gimple_op.
	(ubsan_pass): Adjust.  Call instrument_null only if SANITIZE_NULL.
testsuite/
	* g++.dg/ubsan/pr59306.C: New test.


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

	gcc/
	* doc/tm.texi.in (TARGET_HAS_NO_HW_DIVIDE): Define.
	* doc/tm.texi (TARGET_HAS_NO_HW_DIVIDE): Regenerate.

	libgcc/
	* libgcc2.c (__udivmoddi4): Define new implementation when
	TARGET_HAS_NO_HW_DIVIDE is defined, for processors without any
	divide instructions.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205444 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/winnt.c (i386_pe_section_type_flags): Use const
	pointer cast.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205445 138bc75d-0d04-0410-961f-82ee72b054a4
Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9

	* testsuite/ext/random/hypergeometric_distribution/operators/values.cc
	(test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205446 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/58723
	* cgraphbuild.c (build_cgraph_edges): Do not build edges
	for internal calls.
	(rebuild_cgraph_edges): Likewise.
	* ipa-inline-analysis.c (estimate_function_body_sizes):
	Skip internal calls.
	* tree-inline.c (estimate_num_insns): Estimate size of internal
	calls as 0.
	(gimple_expand_calls_inline): Do not try inline-expanding
	internal calls.
	* lto-streamer-in.c (input_cfg): Stream loop safelen,
	force_vect and simduid.
	(input_struct_function_base): Stream has_force_vect_loops
	and has_simduid_loops.
	(input_function): Adjust.
	* lto-streamer-out.c (output_cfg): Stream loop safelen,
	force_vect and simduid.
	(output_struct_function_base): Stream has_force_vect_loops
	and has_simduid_loops.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205447 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* gcc.dg/c90-const-expr-8.c: Look for overflow on INT_MIN % -1.
	* gcc.dg/c99-const-expr-8.c: Look for overflow on INT_MIN % -1.

2013-11-27  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* fold-const.c
	(int_const_binop_1): Make INT_MIN % -1 return 0 with the overflow
	bit set.



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

	PR c++/58647
	* semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
	Handle function COMPONENT_REFs.

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

	PR c++/58647
	* g++.dg/parse/crash66.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205449 138bc75d-0d04-0410-961f-82ee72b054a4
Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9

	* testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
	Use dg-require-cmath instead.

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

	PR rtl-optimization/57410
	* gcc.target/i386/pr57410.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205451 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	reverted r205398 on request: Remove parameter keep_aligning from
	get_inner_reference.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205452 138bc75d-0d04-0410-961f-82ee72b054a4
        * config/score/score.h (REG_CLASS_FROM_LETTER): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205453 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59014
	* gcc.c-torture/execute/pr59014-2.c: New test.


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