aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2023-10-15 23:10:17 +0200
committerTobias Burnus <tobias@codesourcery.com>2023-10-15 23:10:17 +0200
commit643a5223f1a1860a88c215d715f079d7f846843c (patch)
tree0f5e30d8f5c1397f090063abc6077f239d0483f7 /gcc
parent67f5d368a5b0b63025e7f92b1936d80d4ea2b234 (diff)
downloadgcc-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.texi27
-rw-r--r--gcc/fortran/scanner.cc4
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. */