PR c++/57979
	* init.c (decl_really_constant_value): Rename from
	integral_constant_value.
	(scalar_constant_value): Similar but limited to scalar results.
	(decl_constant_value_safe): Remove.
	(constant_value_1): Respect return_aggregate_cst_ok_p.
	* typeck.c (decay_conversion): Use scalar_constant_value.
	* call.c (convert_like_real): Likewise.
	* cvt.c (ocp_convert): No need to check CLASS_TYPE_P.
	* typeck.c (decay_conversion): Or ARRAY_TYPE.
	* constexpr.c (struct constexpr_ctx): Add strict field.
	(cxx_eval_constant_expression) [VAR_DECL]: Use it to select between
	decl_constant_value and decl_really_constant_value.
	(cxx_eval_outermost_constant_expr): Add strict parm.
	(maybe_constant_init): Not strict.
	(potential_constant_expression_1): Add strict parm.
	Shorten most internal calls with RECUR macro.
	* cp-tree.h, pt.c, semantics.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217814 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63885
	* constexpr.c (cxx_eval_constant_expression) [PARM_DECL]: Don't
	complain yet about a reference.
	[TARGET_EXPR]: Handle TARGET_EXPR with addr == true.
	[ADDR_EXPR]: Make sure we don't take the address of a CONSTRUCTOR.
	(cxx_bind_parameters_in_call): In the new scheme addr is always false.
	* typeck.c (build_address): Don't take the address of a CONSTRUCTOR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217815 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/63939
	* g++.dg/asan/large-func-test-1.C: Ajust dg-output.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217816 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/63939
	* c-c++-common/asan/global-overflow-1.c: Allow extra spaces after
	stack pointer address, to fit darwin output when symbolizer is not
	present.
	* c-c++-common/asan/heap-overflow-1.c: Likewise.
	* c-c++-common/asan/memcmp-1.c: Likewise.
	* c-c++-common/asan/misalign-1.c: Likewise.
	* c-c++-common/asan/misalign-2.c: Likewise.
	* c-c++-common/asan/null-deref-1.c: Likewise.
	* c-c++-common/asan/stack-overflow-1.c: Likewise.
	* c-c++-common/asan/strlen-overflow-1.c: Likewise.
	* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
	* c-c++-common/asan/use-after-free-1.c: Likewise.
	* g++.dg/asan/deep-stack-uaf-1.C: Likewise.
	* g++.dg/asan/deep-tail-call-1.C: Likewise.
	* g++.dg/asan/large-func-test-1.C: Likewise.


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