public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/108382] New: Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used.
@ 2023-01-12 12:41 zbigniew.piotrowski at ecmwf dot int
2023-01-20 17:08 ` [Bug fortran/108382] [12/13 Regression] " burnus at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: zbigniew.piotrowski at ecmwf dot int @ 2023-01-12 12:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108382
Bug ID: 108382
Summary: Incorrect parsing when acc and omp coexist and
-fopenmp -fopenacc is used.
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: zbigniew.piotrowski at ecmwf dot int
Target Milestone: ---
Created attachment 54254
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54254&action=edit
Source file with a minimal example raising an error.
Problem: parsing acc and omp directives seems to incorrectly interfere, when
line continuation is used. As a result, frontend is trying to interpret omp
directives as belonging to acc.
1) GCC versions affected: 12.1.0 (also: Mac 12.2.0) (11.3.0 unaffected)
2) System type: both: x86_64-linux-gnu (also: aarch64-apple-darwin)
3) configure options: see below, official Ubuntu 22.04 package
4) command line: gfortran-12 -c -fopenmp -fopenacc yoethf.F90 (same with
gfortran-11 works fine)
5) compiler output:
yoethf.F90:76:7:
76 | !$omp r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp,
rtwat, rtice, rticecu , &
| 1
Error: Wrong OpenACC continuation at (1): expected !$ACC, got !$OMP
yoethf.F90:75:21:
75 | !$omp declare target(r2es, r3les, r3ies, r4les, r4ies, r5les, r5ies , &
| 1
Error: Syntax error in !$OMP DECLARE TARGET list at (1)
yoethf.F90:76:22:
76 | !$omp r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp,
rtwat, rtice, rticecu , &
| 1
Error: Unclassifiable OpenMP directive at (1)
yoethf.F90:77:7:
77 | !$omp rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
| 1
Error: Wrong OpenACC continuation at (1): expected !$ACC, got !$OMP
yoethf.F90:77:22:
77 | !$omp rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
| 1
Error: Unclassifiable OpenMP directive at (1)
6) Workaround: replace lines:
!$acc declare copyin(r2es, r3les, r3ies, r4les, r4ies, r5les, r5ies, &
!$acc r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp, rtwat, rtice, rticecu, &
!$acc rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
!$omp declare target(r2es, r3les, r3ies, r4les, r4ies, r5les, r5ies , &
!$omp r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp, rtwat, rtice,
rticecu , &
!$omp rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
with:
!$acc declare copyin(r2es, r3les, r3ies, r4les, r4ies, r5les, r5ies, &
!$acc r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp, rtwat, rtice, rticecu, &
!$acc rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
!$omp declare target(r2es, r3les, r3ies, r4les, r4ies, r5les, r5ies)
!$omp declare target(r5alvcp, r5alscp, ralvdcp, ralsdcp, ralfdcp, rtwat, rtice,
rticecu)
!$omp declare target(rtwat_rtice_r, rtwat_rticecu_r, rkoop1, rkoop2)
gfortran-12 -v
Using built-in specs.
COLLECT_GCC=gfortran-12
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
12.1.0-2ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-12
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--enable-default-pie --with-system-zlib --enable-libphobos-checking=release
--with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch
--disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-12-sZcx2y/gcc-12-12.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-sZcx2y/gcc-12-12.1.0/debian/tmp-gcn/usr
--enable-offload-defaulted --without-cuda-driver --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.1.0 (Ubuntu 12.1.0-2ubuntu1~22.04)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/108382] [12/13 Regression] Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used.
2023-01-12 12:41 [Bug fortran/108382] New: Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used zbigniew.piotrowski at ecmwf dot int
@ 2023-01-20 17:08 ` burnus at gcc dot gnu.org
2024-01-12 10:15 ` [Bug fortran/108382] [12/13/14 " rguenth at gcc dot gnu.org
2024-01-12 22:20 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: burnus at gcc dot gnu.org @ 2023-01-20 17:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108382
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
Last reconfirmed| |2023-01-20
Status|UNCONFIRMED |NEW
Target Milestone|--- |12.4
Summary|Incorrect parsing when acc |[12/13 Regression]
|and omp coexist and |Incorrect parsing when acc
|-fopenmp -fopenacc is used. |and omp coexist and
| |-fopenmp -fopenacc is used.
Ever confirmed|0 |1
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
It seems as if for
!$acc enter &
!$acc data
!$omp flush &
!$omp RELEASE
a flag is wrong after parsing the second line; I think either the
'openacc_flag' needs to be (re)set to 0 or continue_flag needs to be set to 0.
(likewise for swapping omp and acc lines)
Possibly be caused by the following commit as it works with GCC 11 but fails
with GCC 12:
r12-1216-g4facf2bf5b7b32f444da864306b5c11e14c15bcf
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/108382] [12/13/14 Regression] Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used.
2023-01-12 12:41 [Bug fortran/108382] New: Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used zbigniew.piotrowski at ecmwf dot int
2023-01-20 17:08 ` [Bug fortran/108382] [12/13 Regression] " burnus at gcc dot gnu.org
@ 2024-01-12 10:15 ` rguenth at gcc dot gnu.org
2024-01-12 22:20 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-01-12 10:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108382
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |11.4.0
Priority|P3 |P4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/108382] [12/13/14 Regression] Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used.
2023-01-12 12:41 [Bug fortran/108382] New: Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used zbigniew.piotrowski at ecmwf dot int
2023-01-20 17:08 ` [Bug fortran/108382] [12/13 Regression] " burnus at gcc dot gnu.org
2024-01-12 10:15 ` [Bug fortran/108382] [12/13/14 " rguenth at gcc dot gnu.org
@ 2024-01-12 22:20 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: burnus at gcc dot gnu.org @ 2024-01-12 22:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108382
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Fixed-form Fortran likewise fails for:
!$acc enter
!$acc& data
!$omp flush
!$omp& RELEASE
end ! fails in this line: "Bad continuation line"
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-12 22:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-12 12:41 [Bug fortran/108382] New: Incorrect parsing when acc and omp coexist and -fopenmp -fopenacc is used zbigniew.piotrowski at ecmwf dot int
2023-01-20 17:08 ` [Bug fortran/108382] [12/13 Regression] " burnus at gcc dot gnu.org
2024-01-12 10:15 ` [Bug fortran/108382] [12/13/14 " rguenth at gcc dot gnu.org
2024-01-12 22:20 ` burnus at gcc dot gnu.org
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).