From aa7da51a8c95366b781d0ce5e6cb046ef0aa899f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 21 Nov 2014 10:25:51 +0100 Subject: re PR target/63764 (ICE: in verify_ssa, at tree-ssa.c:939) PR target/63764 c-family/ * c-common.h (convert_vector_to_pointer_for_subscript): Change return type to bool. * c-common.c: Include gimple-expr.c. (convert_vector_to_pointer_for_subscript): Change return type to bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true and copy it into a TARGET_EXPR and use that instead of *vecp directly. c/ * c-typeck.c (build_array_ref): Adjust convert_vector_to_pointer_for_subscript caller. If it returns true, call non_lvalue_loc on the result. cp/ * typeck.c (cp_build_array_ref): Adjust convert_vector_to_pointer_for_subscript caller. If it returns true, call non_lvalue_loc on the result. testsuite/ * c-c++-common/pr63764-1.c: New test. * c-c++-common/pr63764-2.c: New test. From-SVN: r217909 --- gcc/c-family/c-common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/c-family/c-common.h') diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 7e53923..658cef0 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -1310,7 +1310,7 @@ extern tree build_userdef_literal (tree suffix_id, tree value, enum overflow_type overflow, tree num_string); -extern void convert_vector_to_pointer_for_subscript (location_t, tree*, tree); +extern bool convert_vector_to_pointer_for_subscript (location_t, tree *, tree); /* Possibe cases of scalar_to_vector conversion. */ enum stv_conv { -- cgit v1.1