From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id C431238438DE for ; Tue, 24 May 2022 14:19:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C431238438DE Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-618-O3qLb0mUOnW0y4aAbcgEYg-1; Tue, 24 May 2022 10:19:52 -0400 X-MC-Unique: O3qLb0mUOnW0y4aAbcgEYg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DD090299E76D; Tue, 24 May 2022 14:19:51 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.39.192.106]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9A8932166B29; Tue, 24 May 2022 14:19:51 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.17.1/8.17.1) with ESMTPS id 24OEJnxD2107157 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 24 May 2022 16:19:49 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.17.1/8.17.1/Submit) id 24OEJmij2107156; Tue, 24 May 2022 16:19:48 +0200 Date: Tue, 24 May 2022 16:19:48 +0200 From: Jakub Jelinek To: Julian Brown Cc: gcc-patches@gcc.gnu.org, Thomas Schwinge , Tobias Burnus , Fortran List Subject: Re: [PATCH v2 08/11] Use OMP_ARRAY_SECTION instead of TREE_LIST in C++ FE Message-ID: Reply-To: Jakub Jelinek References: <15686ef928e7e7dc730d3a0d7ffb59bcb2dae697.1647619144.git.julian@codesourcery.com> MIME-Version: 1.0 In-Reply-To: <15686ef928e7e7dc730d3a0d7ffb59bcb2dae697.1647619144.git.julian@codesourcery.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2022 14:19:56 -0000 On Fri, Mar 18, 2022 at 09:26:49AM -0700, Julian Brown wrote: > This patch changes the representation of OMP array sections in the > C++ front end to use the new OMP_ARRAY_SECTION tree code instead of a > TREE_LIST. This is important for "declare mapper" support, because the > array section representation may stick around longer (in "declare mapper" > definitions), and special-case handling TREE_LIST becomes necessary in > more places, which starts to become unwieldy. > > 2022-02-18 Julian Brown > > gcc/c-family/ > * c-omp.cc (c_omp_split_clauses): Support OMP_ARRAY_SECTION. > > gcc/cp/ > * parser.cc (cp_parser_omp_var_list_no_open): Use OMP_ARRAY_SECTION > code instead of TREE_LIST to represent OpenMP array sections. > * pt.cc (tsubst_copy, tsubst_omp_clause_decl, tsubst_copy_and_build): > Add OMP_ARRAY_SECTION support. > * semantics.cc (handle_omp_array_sections_1, handle_omp_array_sections, > cp_oacc_check_attachments, finish_omp_clauses): Use OMP_ARRAY_SECTION > instead of TREE_LIST where appropriate. > * gimplify.cc (gimplify_expr): Ensure OMP_ARRAY_SECTION has been > processed out before gimplification. THis is all a step towards the right direction, but we really do want to transition from uses of TREE_LIST to represent array sections to OMP_ARRAY_SECTION. For some clauses that do allow lvalue expressions that is a must, for the rest just a good cleanup even when the OMP_ARRAY_SECTION are created instead of TREE_LIST during the explicit array section parsing in OpenMP var list parsing. Jakub