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: 697837 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tNY7X0kHJz9svs for ; Wed, 23 Nov 2016 04:56:39 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="f/EmZP5b"; dkim-atps=neutral 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=Tlg+iL1FvoKuaufTpBiQmEb/CmkLjoQDzgk72LeCOCibrZa8rrQJ+ GEis313ZPH/Dve5lDLV7ldI1vmrsdc4eC4bjFCQRPKESDJE2YNcXohSMfzZjWiEb q1bQICe851TrWzkyYNRsdsfSd/u4y2Gv0b/JUogA6UBx/G8z8yZlh8= 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=f/EmZP5b1+5d4hxO0bWg gQlR34SReeQk5FxREyTSlw+fCxTfU22jrf722RUcbgZbYFf8eDn77VAL6cj8fTFC QT1czzHM9kZue36zDQLEsNhcQzWljByLTe0IbjqfKY7sspAnPzDWx6HanrUrRzcp l3in8A0wlbjni4/4EV6Htl8= 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. 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)));