From patchwork Tue Nov 22 17:56:16 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Vehreschild X-Patchwork-Id: 83464 Delivered-To: patch@linaro.org Received: by 10.182.1.168 with SMTP id 8csp2283819obn; Tue, 22 Nov 2016 09:56:44 -0800 (PST) X-Received: by 10.99.22.65 with SMTP id 1mr926851pgw.70.1479837404277; Tue, 22 Nov 2016 09:56:44 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id m127si25644342pfb.123.2016.11.22.09.56.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Nov 2016 09:56:44 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-442272-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-442272-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-442272-patch=linaro.org@gcc.gnu.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=eIoTqMAxfUWxr+FOwFcixnJbAyb6CSRaKMR19NX+8O+zUdQwGoz/p RKfgc5AjqW8All9e3j5b1Gi/PBkiyFr3hPn1bTILZSCmkfCUbsvyaiGxQHI4Y8XH 62MhySF8sKW6M3ehrMcfbjUpEC6FWFD8HPZCWRo1/keBb2qYxYqo5I= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=rB2XO3mfBJU6D46lJaeziCfM6ag=; b=ozFINvI/n2DUT2/4nqgL SXfEOXpzE3AzwKbZ5j0DEi6X2a0oZ1Mqp98TnwLSHPwE+ig9Lyu8kBCpLnmZ5EBg jaFVNw9JigM3PoIWnA9KjG6HpVBddONXy9MYXmyWvpQ6GjQwMy1fwRC7nwixrjm5 1Bdx2oAntdsD8T7K1qfyBSY= Received: (qmail 107870 invoked by alias); 22 Nov 2016 17:56:24 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 107814 invoked by uid 89); 22 Nov 2016 17:56:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=gfc_symbol, Andre, andre, cosmetics X-Spam-User: qpsmtpd, 2 recipients X-HELO: mout.gmx.net Received: from mout.gmx.net (HELO mout.gmx.net) (212.227.17.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 22 Nov 2016 17:56:21 +0000 Received: from vepi2 ([92.76.205.227]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0Lkwpt-1chTeu1Nbx-00aj8K; Tue, 22 Nov 2016 18:56:17 +0100 Date: Tue, 22 Nov 2016 18:56:16 +0100 From: Andre Vehreschild To: GCC-Patches-ML , GCC-Fortran-ML Subject: [PATCH, Fortran, cosmetics] Use convenience functions and constants Message-ID: <20161122185616.707c470b@vepi2> MIME-Version: 1.0 X-UI-Out-Filterresults: notjunk:1; V01:K0:iCP9Xj0mYc8=:xM1YyF0y7Rr8FiH+MHhN7d lN1QRy8ceezs+YaVuwUIF8rW5U+2tSjS+70yApBFFP7T+LdfuyOT52NjEF+GsFIy3P0A6d+hP y2Rmo6UypGQaU0zGlZV6L7eioNIMQgMKgtPucZZAdkgrlXZ/urQU+Du+PYCcKv/2NgjSZ+Gnu TDI2AgPAl6UtvHLjCpoQWnGdT0JN8l2Iv81v2WcBV2TlzIjg1JOZRa2NI4mTNXWAJH5zqBqyX TfbHBL6s7D6j2HYqzriSJTDaxJ4eEc6HpUdFmFUwVBfuDAcr59atzZvY+SDIM+ClNJGrTq2mY lSSfaRyyy0DCZ9jzt4S30V2RxcQpVX5M+DowkwqEzQH8X7yLVzNvgv4JNQIjv4fxOWpRGhExB TxP7pPiMVKzhHAC54lGrAEUP6NEIokn9Ow3sOkiT9v5VeDyzbRvgeXmikLk+Vsywc399+cMNI JLo5UQ/42pQ8ClI4sVjlWbb9F16QZenpc+iPN5Z/g9wPjtLsKylUcIoE8jVeTsJWPTL3RrIWy OR7XuXqaHkj5I7JLwIhgosCcJ6LAHPjV2GIqRu+SzM0z+bLWYNmR6nbSDnB6RHxrPKfMEUiq6 cgvgwVKbQX/FM5rT/yvGvRyIg9pS7dVwlWpsvmJtT03sP+V1uJuLEtJj2qcXzH0AjFmyX38eM JLznmIoQFddAE5nD6PAPTjoQ50RTJpVeCQIMcEJuKhh+TQoVWLd7aVnjf8s35hhLfiowYD1JC M2OTFdPi/P2hptYLF3gdSDocOuLI7jd9tOXYZIAioed80mDZc6J7cqCOiiY= Hi all, during more hacking on the allocatable components in derived type coarrays, I encountered the improvable code fragments in the patch attached. Bootstraps and regtests ok on x86_64-linux/F23. Ok for trunk? Regards, Andre PS: The patch that motivated these changes follows as soon as its regtesting has finished. -- Andre Vehreschild * Email: vehre ad gmx dot de diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 1708f7c..45e1369 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -7855,9 +7859,7 @@ duplicate_allocatable (tree dest, tree src, tree type, int rank, if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (dest))) { - tmp = null_pointer_node; - tmp = fold_build2_loc (input_location, MODIFY_EXPR, type, dest, tmp); - gfc_add_expr_to_block (&block, tmp); + gfc_add_modify (&block, dest, fold_convert (type, null_pointer_node)); null_data = gfc_finish_block (&block); gfc_init_block (&block); @@ -7869,9 +7871,7 @@ duplicate_allocatable (tree dest, tree src, tree type, int rank, if (!no_malloc) { tmp = gfc_call_malloc (&block, type, size); - tmp = fold_build2_loc (input_location, MODIFY_EXPR, void_type_node, - dest, fold_convert (type, tmp)); - gfc_add_expr_to_block (&block, tmp); + gfc_add_modify (&block, dest, fold_convert (type, tmp)); } if (!no_memcpy) diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index ba71a21..2e6ef2a 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -5093,8 +5103,8 @@ generate_coarray_sym_init (gfc_symbol *sym) build_int_cst (integer_type_node, reg_type), token, gfc_build_addr_expr (pvoid_type_node, desc), null_pointer_node, /* stat. */ - null_pointer_node, /* errgmsg, errmsg_len. */ - build_int_cst (integer_type_node, 0)); + null_pointer_node, /* errgmsg. */ + integer_zero_node); /* errmsg_len. */ gfc_add_expr_to_block (&caf_init_block, tmp); gfc_add_modify (&caf_init_block, decl, fold_convert (TREE_TYPE (decl), gfc_conv_descriptor_data_get (desc)));