public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch] libgomp.texi: Impl. status fix/addition
@ 2022-09-12  9:04 Tobias Burnus
  2022-09-12  9:14 ` Jakub Jelinek
  0 siblings, 1 reply; 2+ messages in thread
From: Tobias Burnus @ 2022-09-12  9:04 UTC (permalink / raw)
  To: gcc-patches, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 1392 bytes --]

This patch is about the OpenMP 5.{1,2} implementation status.

For omp/ompx/omx, I think it was a bit misleading. omp/ompx (and omx)
are reserved namespaces; for 'omp' nothing needs to be done (either
already implemented or not), while for 'ompx'/'omx' (vendor extension),
the note + footnote tries to describe what happens. – I hope the revised
wording is clearer.

The other change is about two OpenMP 5.1 items; the first one seems to
get used in some code – 'begin declare target' is essentially the same
as 'declare target' ... 'end declare target' but additionally permits
clauses.

And the second new item: I think it was regarded as bug fix, but I
personally read it rather as change. The question is as what to read it
and how to handle it? Initially I wrote and thought of it as deprecation
of the previous syntax, i.e. warning but only once the OpenMP version
has been bumped to 5.2's. I now think we could diagnose it earlier – IMO
a warning would be sufficient, but it could also be read it such that an
error is required. – Thoughts about this item + what to implement?

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

[-- Attachment #2: libgomp-impl-update.diff --]
[-- Type: text/x-patch, Size: 2029 bytes --]

libgomp.texi: Impl. status fix/addition

libgomp/ChangeLog:

	* libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
	(OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.

diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 3dc467aade0..7db5fab580a 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -348,6 +348,9 @@ The OpenMP 4.5 specification is fully supported.
 @item Support @code{begin/end declare target} syntax in C/C++ @tab N @tab
 @item Pointer predetermined firstprivate getting initialized
 to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
+@item @code{begin declare target} directive @tab N @tab
+@item For Fortran, diagnose placing declarative before/between @code{USE},
+      @code{IMPORT}, and @code{IMPLICIT} as invalid @tab N @tab
 @end multitable
 
 
@@ -362,12 +365,13 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
       @tab N @tab
 @item @code{omp}/@code{ompx}/@code{omx} sentinels and @code{omp_}/@code{ompx_}
       namespaces @tab N/A
-      @tab warning for @code{omp/ompx} sentinels@footnote{@code{omp/ompx}
-      sentinels as C/C++ pragma and C++ attributes are warned for with
+      @tab warning for @code{ompx/omx} sentinels@footnote{The @code{ompx}
+      sentinel as C/C++ pragma and C++ attributes are warned for with
       @code{-Wunknown-pragmas} (implied by @code{-Wall}) and @code{-Wattributes}
       (enabled by default), respectively; for Fortran free-source code, there is
-      a warning enabled by default and for fixed-source code with
-      @code{-Wsurprising} (enabled by @code{-Wall})}
+      a warning enabled by default and, for fixed-source code, the @code{omx}
+      sentinel is warned for with with @code{-Wsurprising} (enabled by
+      @code{-Wall}). Unknown clauses are always rejected with an error.}
 @item Clauses on @code{end} directive can be on directive @tab N @tab
 @item Deprecation of no-argument @code{destroy} clause on @code{depobj}
       @tab N @tab

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch] libgomp.texi: Impl. status fix/addition
  2022-09-12  9:04 [patch] libgomp.texi: Impl. status fix/addition Tobias Burnus
@ 2022-09-12  9:14 ` Jakub Jelinek
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2022-09-12  9:14 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc-patches

On Mon, Sep 12, 2022 at 11:04:08AM +0200, Tobias Burnus wrote:
> This patch is about the OpenMP 5.{1,2} implementation status.
> 
> For omp/ompx/omx, I think it was a bit misleading. omp/ompx (and omx)
> are reserved namespaces; for 'omp' nothing needs to be done (either
> already implemented or not), while for 'ompx'/'omx' (vendor extension),
> the note + footnote tries to describe what happens. – I hope the revised
> wording is clearer.
> 
> The other change is about two OpenMP 5.1 items; the first one seems to
> get used in some code – 'begin declare target' is essentially the same
> as 'declare target' ... 'end declare target' but additionally permits
> clauses.
> 
> And the second new item: I think it was regarded as bug fix, but I
> personally read it rather as change. The question is as what to read it
> and how to handle it? Initially I wrote and thought of it as deprecation
> of the previous syntax, i.e. warning but only once the OpenMP version
> has been bumped to 5.2's. I now think we could diagnose it earlier – IMO
> a warning would be sufficient, but it could also be read it such that an
> error is required. – Thoughts about this item + what to implement?

IMNSHO we should support it without any diagnostics until the big
deprecation day of 5.2 (when we are almost done with 5.2 and add all the
-Wdeprecated stuff there).
It is very similar to many other 5.2 changes, introduce a new syntax and
deprecate the old one.

> libgomp.texi: Impl. status fix/addition
> 
> libgomp/ChangeLog:
> 
> 	* libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
> 	(OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
> 
> diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
> index 3dc467aade0..7db5fab580a 100644
> --- a/libgomp/libgomp.texi
> +++ b/libgomp/libgomp.texi
> @@ -348,6 +348,9 @@ The OpenMP 4.5 specification is fully supported.
>  @item Support @code{begin/end declare target} syntax in C/C++ @tab N @tab
>  @item Pointer predetermined firstprivate getting initialized
>  to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
> +@item @code{begin declare target} directive @tab N @tab
> +@item For Fortran, diagnose placing declarative before/between @code{USE},
> +      @code{IMPORT}, and @code{IMPLICIT} as invalid @tab N @tab
>  @end multitable
>  
>  
> @@ -362,12 +365,13 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
>        @tab N @tab
>  @item @code{omp}/@code{ompx}/@code{omx} sentinels and @code{omp_}/@code{ompx_}
>        namespaces @tab N/A
> -      @tab warning for @code{omp/ompx} sentinels@footnote{@code{omp/ompx}
> -      sentinels as C/C++ pragma and C++ attributes are warned for with
> +      @tab warning for @code{ompx/omx} sentinels@footnote{The @code{ompx}
> +      sentinel as C/C++ pragma and C++ attributes are warned for with
>        @code{-Wunknown-pragmas} (implied by @code{-Wall}) and @code{-Wattributes}
>        (enabled by default), respectively; for Fortran free-source code, there is
> -      a warning enabled by default and for fixed-source code with
> -      @code{-Wsurprising} (enabled by @code{-Wall})}
> +      a warning enabled by default and, for fixed-source code, the @code{omx}
> +      sentinel is warned for with with @code{-Wsurprising} (enabled by
> +      @code{-Wall}). Unknown clauses are always rejected with an error.}

Two spaces after ., not just one.
Otherwise LGTM.

	Jakub


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-12  9:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-12  9:04 [patch] libgomp.texi: Impl. status fix/addition Tobias Burnus
2022-09-12  9:14 ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).