From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by sourceware.org (Postfix) with ESMTPS id EBAB03858D37 for ; Mon, 12 Feb 2024 08:51:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EBAB03858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=baylibre.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EBAB03858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::32d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707727897; cv=none; b=EKz00HfEXdjH3rYiYeFk/OHv2ed0Q/LeD3Kcbn1AOCP6Ri2vu2hdoAwsmvJx92PfwWG9dYr/Y16xyJi0pIQzmg+Gqhar8ic9dUEdK4sMoYVeKyEhA/2zRq5kAqtDw17nPpjWiQ2wMiFD/wOi5AZgcgOwXrgS3HT2pzffsTZvk9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707727897; c=relaxed/simple; bh=3Nu5oeQusfT3YO+Mz3O7pZf9kRpCI3FtDg0ixgC8sG4=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=tVA0hu2HEDkJapKb9ECjKkSeV8FEUoKafJBUAe/uvQ2puIwb3GYENKScef1vEUb/mec6zR84feRWJBUZm9QklziycnfuBex/Xaqp6ufRdYqJg3bLxjEp+8rUKd8CzMAv7LfqxKOcPtPGDFazE0YKuPUcADW4IUh53c0IxsIEAkE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4109f9afc1bso13968165e9.0 for ; Mon, 12 Feb 2024 00:51:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1707727893; x=1708332693; darn=gcc.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=JMpGAjrdL/OpMX4GHZOtbTvYA8aQ6gJOSoSkJH7+IKs=; b=du4qjUuhH1u1+tF+I9xAei4sxC2OymOoqcrkWfUlEPNdYB6obWeip+SUNjMQh9cqxW yBe+GvDdlpU27/7bKRystPF1JrKEy6U5+hvf3+QBf6h9g/bpP7U8nOg30siKRuawi56m 92RalknQaB0VaalJNfJTAzgK7iWIHX0vIImLQBUtMoPwlH1QzheHdJaSe5sZfJLlfw8b N7686Z+uveNKqHFxwHu1Q90CzEqzxPo0acEB/8diYb8wxyzIwJLLFDiZbfZpUnT9aXq0 Vrexl0L/hs1aayB+2PONUPOPpUqsXx3PiAsIv+EEP9zTYMSYP2/JolbocAjLbbNiaimm d1wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707727893; x=1708332693; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JMpGAjrdL/OpMX4GHZOtbTvYA8aQ6gJOSoSkJH7+IKs=; b=BklKZfjS6vQlk+WmlAhCtn8uz9ZJUR6cfx3i2BD4OmjSYesvW7UdL0k/npkPHAZOib 0bDrPozYoetG6WA1uCOq1KzLiTHqlGTpdBQlHKxol08FvKRuDAVig5t3H4GUAgu0OrkT bpElkmiS06Cf3gCG4X45gqKhVhmDcdCJK1+bNrhffeSEcl5ZJoxATDs5BAX0jrd6RYIc KYEO4yeO0p65lqiWxtUYe/ok9jxMYSBKN+L20FJBAeRP04ZnjfP2GrwVuoWolVEow8ae n5Gcsucs1eEr+JvdvHEnDwMDfL/YYDF7gPsUfnoz1ttvT4eGF0DmeZdsXgbU4R2D3SoB jwcQ== X-Gm-Message-State: AOJu0Yy0euQQjKQGgw67NYY8fK9L8TD8Js3cY3KXVCK84R/jg/QqdHMB xxWQMIU5EaLFK5KiXImKZr4J6+n4hOlipkExh1eUaaOlrlQvhidQx/2h8iX6+5g= X-Google-Smtp-Source: AGHT+IHs/qxD4i/I5ezBPsMv9V6gpMHQow65e0kgNB2YOUssIGDgSqKUc8nWyM5x6Cq/34IXWDjbnw== X-Received: by 2002:a05:600c:1f91:b0:40f:de23:b8f3 with SMTP id je17-20020a05600c1f9100b0040fde23b8f3mr4882511wmb.23.1707727893441; Mon, 12 Feb 2024 00:51:33 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWULbDV77Tf2/5sWQMplGbjawrwbqFaK6lOJZu/1N/JpuaW/iIJeJvSstY1LDzmWWjEngklYCdGRSW7xh7lw662phPPPJjx7vYrGDsiqt7+ZJ6/EGT2XVPJVCKiyJr2S6QGjpoQzq80s1qLd7wzQ2RhTkw= Received: from ?IPV6:2001:16b8:2ae3:5600:fbaf:692f:8c81:301f? (200116b82ae35600fbaf692f8c81301f.dip.versatel-1u1.de. [2001:16b8:2ae3:5600:fbaf:692f:8c81:301f]) by smtp.gmail.com with ESMTPSA id n5-20020a05600c3b8500b00410e90e82ebsm988690wms.4.2024.02.12.00.51.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 12 Feb 2024 00:51:33 -0800 (PST) Message-ID: <400233cd-6085-4f55-9861-b2d222cbfeb7@baylibre.com> Date: Mon, 12 Feb 2024 09:51:32 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] openmp, fortran: Add Fortran support for indirect clause on the declare target directive Content-Language: en-US To: Kwok Cheung Yeung Cc: Jakub Jelinek , gcc-patches , fortran@gcc.gnu.org References: <3290a0f5-3b9d-4c3c-b7c5-e9ddec4520c7@baylibre.com> <8ba3944a-44e5-41dd-b78f-95091eb140f6@baylibre.com> <77364452-3d79-438f-a8d1-65aee3f6c3a7@baylibre.com> From: Tobias Burnus In-Reply-To: <77364452-3d79-438f-a8d1-65aee3f6c3a7@baylibre.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Kwok, Kwok Cheung Yeung wrote: > Oops. I thought exactly the same thing yesterday, but forgot to add > the changes to my commit! Here is the updated version. I regard(ed) this change as obvious - hence, I missed to reply. But for completeness: LGTM. I think it would be useful to commit this now with an xfail for the one failing testcase that depends on the review-pending libgomp patch. I mean something like: --- a/libgomp/testsuite/libgomp.fortran/declare-target-indirect-2.f90 +++ b/libgomp/testsuite/libgomp.fortran/declare-target-indirect-2.f90 @@ -1,2 +1,3 @@ ! { dg-do run } +! { dg-xfail-run-if "Requires libgomp bug fix pending review" { offload_device } } Thanks, Tobias > On 06/02/2024 9:03 am, Tobias Burnus wrote: >> LGTM. I just wonder whether there should be a value test and not just >> a does-not-crash-when-called test for the latter testcase, i.e. >> >> >>> +++ b/libgomp/testsuite/libgomp.fortran/declare-target-indirect-3.f90 >>> @@ -0,0 +1,25 @@ >>> +! { dg-do run } >>> + >>> +! Check that indirect calls work on procedures passed in via a >>> dummy argument >>> + >>> +module m >>> +contains >>> +  subroutine bar >>> +    !$omp declare target enter(bar) indirect >> e.g. "integer function bar()" ... " bar = 42" >>> +  end subroutine >>> + >>> +  subroutine foo(f) >>> +    procedure(bar) :: f >>> + >>> +    !$omp target >>> +      call f >> And then: if (f() /= 42) stop 1 >>> +    !$omp end target >>> +  end subroutine >>> +end module >> >> Thanks, >> >> Tobias >>