From patchwork Fri Nov 30 20:48:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 1006185 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-491401-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="GXdtlElj"; dkim-atps=neutral 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 43661p5yC6z9s9G for ; Sat, 1 Dec 2018 07:49:01 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; q=dns; s=default; b=CQIqatmbVoLVlZwA V5L4BfI4QzX/eMDLS4Zv3gVM6YFJkemvmhO4Q4SS3RAPOCNp7iP2acLeXgrNhYR5 21vmR7+mK0/ahe7RYbaZPckBLOeeYBn7WLvI/Y/GEg6mhx9HsasASq4dpOJWEKoE Qal86IIXb0tsQ7/4GYO4kM3dP5Q= 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:from :to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=default; bh=bRrFfObhv0FDnN7oDct9pQ tFWy0=; b=GXdtlElj5nnqWhCJJc/ksAbSiAvpnmTwgFlgYSMsv6wJQvMLuVOoRi MGmsv+RfOtZH0FVKfl5Sj1nteYY7LGG2hGja+YYH74hdwJDgOB1vb4fKs1dqdK+S j+GI5uh3h8fD2H87GoAGtdOFAsMRE1GUlbzGxFo+ziM6J+yZl39tk= Received: (qmail 128763 invoked by alias); 30 Nov 2018 20:48:48 -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 128560 invoked by uid 89); 30 Nov 2018 20:48:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=collapse, gfortran.h, UD:gfortran.h, gfc_expr_list X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 30 Nov 2018 20:48:34 +0000 Received: from svr-orw-mbx-02.mgc.mentorg.com ([147.34.90.202]) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1gSpiB-0002P5-Cw from Thomas_Schwinge@mentor.com ; Fri, 30 Nov 2018 12:48:31 -0800 Received: from SVR-ORW-MBX-07.mgc.mentorg.com (147.34.90.207) by svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 30 Nov 2018 12:48:29 -0800 Received: from tftp-cs (147.34.91.1) by SVR-ORW-MBX-07.mgc.mentorg.com (147.34.90.207) with Microsoft SMTP Server id 15.0.1320.4 via Frontend Transport; Fri, 30 Nov 2018 12:48:29 -0800 Received: by tftp-cs (Postfix, from userid 49978) id C3A02C2222; Fri, 30 Nov 2018 12:48:28 -0800 (PST) From: Thomas Schwinge To: , CC: Chung-Lin Tang , Jakub Jelinek Subject: [committed] Clean up Fortran OpenACC wait clause handling User-Agent: Notmuch/0.9-125-g4686d11 (http://notmuchmail.org) Emacs/25.2.2 (x86_64-pc-linux-gnu) Date: Fri, 30 Nov 2018 21:48:20 +0100 Message-ID: <874lbythpn.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 Hi! commit 3e3de40a5ab21d72f08071a7a40120dd05608cc1 Author: tschwinge Date: Fri Nov 30 20:39:18 2018 +0000 Clean up Fortran OpenACC wait clause handling "wait" can be deduced from "wait_list". gcc/fortran/ * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all users. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266685 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 3 +++ gcc/fortran/gfortran.h | 2 +- gcc/fortran/openmp.c | 7 ++----- 3 files changed, 6 insertions(+), 6 deletions(-) Grüße Thomas diff --git gcc/fortran/ChangeLog gcc/fortran/ChangeLog index 435ecf82f970..76bb0b9f5c0c 100644 --- gcc/fortran/ChangeLog +++ gcc/fortran/ChangeLog @@ -1,5 +1,8 @@ 2018-11-30 Thomas Schwinge + * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all + users. + * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait clauses. diff --git gcc/fortran/gfortran.h gcc/fortran/gfortran.h index 4dd6298b3ddb..a14b4c44a18a 100644 --- gcc/fortran/gfortran.h +++ gcc/fortran/gfortran.h @@ -1345,7 +1345,7 @@ typedef struct gfc_omp_clauses gfc_expr_list *wait_list; gfc_expr_list *tile_list; unsigned async:1, gang:1, worker:1, vector:1, seq:1, independent:1; - unsigned wait:1, par_auto:1, gang_static:1; + unsigned par_auto:1, gang_static:1; unsigned if_present:1, finalize:1; locus loc; diff --git gcc/fortran/openmp.c gcc/fortran/openmp.c index e1560c1fe372..fb9c073ff779 100644 --- gcc/fortran/openmp.c +++ gcc/fortran/openmp.c @@ -1878,7 +1878,6 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask, if ((mask & OMP_CLAUSE_WAIT) && gfc_match ("wait") == MATCH_YES) { - c->wait = true; match m = match_oacc_expr_list (" (", &c->wait_list, false); if (m == MATCH_ERROR) { @@ -4779,10 +4778,8 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, resolve_positive_int_expr (omp_clauses->worker_expr, "WORKER"); if (omp_clauses->vector_expr) resolve_positive_int_expr (omp_clauses->vector_expr, "VECTOR"); - if (omp_clauses->wait) - if (omp_clauses->wait_list) - for (el = omp_clauses->wait_list; el; el = el->next) - resolve_scalar_int_expr (el->expr, "WAIT"); + for (el = omp_clauses->wait_list; el; el = el->next) + resolve_scalar_int_expr (el->expr, "WAIT"); if (omp_clauses->collapse && omp_clauses->tile_list) gfc_error ("Incompatible use of TILE and COLLAPSE at %L", &code->loc); if (omp_clauses->depend_source && code->op != EXEC_OMP_ORDERED)