diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2023-10-15 23:10:17 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2023-10-15 23:10:17 +0200 |
commit | 643a5223f1a1860a88c215d715f079d7f846843c (patch) | |
tree | 0f5e30d8f5c1397f090063abc6077f239d0483f7 /gcc | |
parent | 67f5d368a5b0b63025e7f92b1936d80d4ea2b234 (diff) | |
download | gcc-643a5223f1a1860a88c215d715f079d7f846843c.zip gcc-643a5223f1a1860a88c215d715f079d7f846843c.tar.gz gcc-643a5223f1a1860a88c215d715f079d7f846843c.tar.bz2 |
libgomp.texi: Update "Enabling OpenMP" + OpenACC / invoke.texi: -fopenacc/-fopenmp update
The OpenACC specification does not mention the '!$ ' sentinel for conditional
compilation and the feature was removed in r11-5572-g1d6f6ac693a860
for PR fortran/98011; update libgomp.texi for this and update a leftover
comment. - Additionally, some other updates are done as well.
libgomp/
* libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
improve wording especially for Fortran; mention -fopenmp-simd.
(Enabling OpenACC): Minor cleanup; remove conditional compilation
sentinel.
gcc/
* doc/invoke.texi (-fopenacc, -fopenmp, -fopenmp-simd): Use @samp not
@code; document more completely the supported Fortran sentinels.
gcc/fortran
* scanner.cc (skip_free_comments, skip_fixed_comments): Remove
leftover 'OpenACC' from comments about OpenMP's conditional
compilation sentinel.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/doc/invoke.texi | 27 | ||||
-rw-r--r-- | gcc/fortran/scanner.cc | 4 |
2 files changed, 18 insertions, 13 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fee659462..eb714d1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -2748,9 +2748,10 @@ Typical command lines are @opindex fopenacc @cindex OpenACC accelerator programming @item -fopenacc -Enable handling of OpenACC directives @code{#pragma acc} in C/C++ and -@code{!$acc} in Fortran. When @option{-fopenacc} is specified, the -compiler generates accelerated code according to the OpenACC Application +Enable handling of OpenACC directives @samp{#pragma acc} in C/C++ and +@samp{!$acc} in free-form Fortran and @samp{!$acc}, @samp{c$acc} and +@samp{*$acc} in fixed-form Fortran. When @option{-fopenacc} is specified, +the compiler generates accelerated code according to the OpenACC Application Programming Interface v2.6 @w{@uref{https://www.openacc.org}}. This option implies @option{-pthread}, and thus is only supported on targets that have support for @option{-pthread}. @@ -2766,10 +2767,12 @@ can be omitted, to use a target-specific default value. @opindex fopenmp @cindex OpenMP parallel @item -fopenmp -Enable handling of OpenMP directives @code{#pragma omp} in C/C++, -@code{[[omp::directive(...)]]}, @code{[[omp::sequence(...)]]} and -@code{[[omp::decl(...)]]} in C++ and @code{!$omp} in Fortran. -When @option{-fopenmp} is specified, the +Enable handling of OpenMP directives @samp{#pragma omp} in C/C++, +@samp{[[omp::directive(...)]]}, @samp{[[omp::sequence(...)]]} and +@samp{[[omp::decl(...)]]} in C++ and @samp{!$omp} in Fortran. It +additionally enables the conditional compilation sentinel @samp{!$} in +Fortran. In fixed source form Fortran, the sentinels can also start with +@samp{c} or @samp{*}. When @option{-fopenmp} is specified, the compiler generates parallel code according to the OpenMP Application Program Interface v4.5 @w{@uref{https://www.openmp.org}}. This option implies @option{-pthread}, and thus is only supported on targets that @@ -2785,10 +2788,12 @@ Enable handling of OpenMP's @code{simd}, @code{declare simd}, and @code{loop} directive, and of combined or composite directives with @code{simd} as constituent with @code{#pragma omp} in C/C++, @code{[[omp::directive(...)]]}, @code{[[omp::sequence(...)]]} and -@code{[[omp::decl(...)]]} in C++ and @code{!$omp} in Fortran. -Other OpenMP directives are ignored. Unless @option{-fopenmp} is -additionally specified, the @code{loop} region binds to the current -task region, independent of the specified @code{bind} clause. +@code{[[omp::decl(...)]]} in C++ and @code{!$omp} in Fortran. It +additionally enables the conditional compilation sentinel @samp{!$} in +Fortran. In fixed source form Fortran, the sentinels can also start with +@samp{c} or @samp{*}. Other OpenMP directives are ignored. Unless +@option{-fopenmp} is additionally specified, the @code{loop} region binds +to the current task region, independent of the specified @code{bind} clause. @opindex fopenmp-target-simd-clone @cindex OpenMP target SIMD clone diff --git a/gcc/fortran/scanner.cc b/gcc/fortran/scanner.cc index 9f0d9a7..e2a25a1 100644 --- a/gcc/fortran/scanner.cc +++ b/gcc/fortran/scanner.cc @@ -877,7 +877,7 @@ skip_free_comments (void) /* If -fopenmp/-fopenacc, we need to handle here 2 things: 1) don't treat !$omp/!$acc as comments, but directives - 2) handle OpenMP/OpenACC conditional compilation, where + 2) handle OpenMP conditional compilation, where !$ should be treated as 2 spaces (for initial lines only if followed by space). */ if (at_bol) @@ -1106,7 +1106,7 @@ skip_fixed_comments (void) /* If -fopenmp/-fopenacc, we need to handle here 2 things: 1) don't treat !$omp/!$acc|c$omp/c$acc|*$omp / *$acc as comments, but directives - 2) handle OpenMP/OpenACC conditional compilation, where + 2) handle OpenMP conditional compilation, where !$|c$|*$ should be treated as 2 spaces if the characters in columns 3 to 6 are valid fixed form label columns characters. */ |