From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13940 invoked by alias); 30 Nov 2015 20:43:33 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 13931 invoked by uid 89); 30 Nov 2015 20:43:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga14.intel.com Received: from mga14.intel.com (HELO mga14.intel.com) (192.55.52.115) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 30 Nov 2015 20:43:32 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 30 Nov 2015 12:43:16 -0800 X-ExtLoop1: 1 Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by orsmga001.jf.intel.com with ESMTP; 30 Nov 2015 12:43:12 -0800 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.236]) by IRSMSX106.ger.corp.intel.com ([169.254.8.228]) with mapi id 14.03.0248.002; Mon, 30 Nov 2015 20:43:11 +0000 From: "Zamyatin, Igor" To: 'Andreas Schwab' CC: "GCC Patches (gcc-patches@gcc.gnu.org)" , "Jeff Law (law@redhat.com)" , "Jakub Jelinek (jakub@redhat.com)" Subject: RE: [PR68001, CilkPlus] Fix for PR68001 Date: Mon, 30 Nov 2015 20:49:00 -0000 Message-ID: <0EFAB2BDD0F67E4FB6CCC8B9F87D7569738AC2E7@IRSMSX101.ger.corp.intel.com> References: <0EFAB2BDD0F67E4FB6CCC8B9F87D756973814270@IRSMSX101.ger.corp.intel.com> In-Reply-To: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg03522.txt.bz2 >=20 > FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime (test for errors, > line 51) > FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime (test for errors, > line 56) > FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime (test for errors, > line 59) >=20 > Andreas. Here is the patch that properly limits GS_ERROR exit only in case of error = in cilk spawn detection. Bootstrapped and regtested on x86_64, ok for trunk? Thanks, Igor cp/Changelog 2015-11-27 Igor Zamyatin PR c++/68001 * cp-gimplify.c (cp_gimplify_expr): Limit GS_ERROR only in case of error in cilk spawn detection. diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index 09ee5ff..3dbbd7f 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -559,6 +559,7 @@ int cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) { int saved_stmts_are_full_exprs_p =3D 0; + bool is_spawn_detected =3D true; enum tree_code code =3D TREE_CODE (*expr_p); enum gimplify_status ret; =20 @@ -614,12 +615,12 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gi= mple_seq *post_p) 25979. */ case INIT_EXPR: if (fn_contains_cilk_spawn_p (cfun) - && cilk_detect_spawn_and_unwrap (expr_p)) + && (is_spawn_detected =3D cilk_detect_spawn_and_unwrap (expr_p))) { cilk_cp_gimplify_call_params_in_spawned_fn (expr_p, pre_p, post_p); return (enum gimplify_status) gimplify_cilk_spawn (expr_p); } - if (seen_error ()) + if (!is_spawn_detected && seen_error ()) return GS_ERROR; =20 cp_gimplify_init_expr (expr_p);