[Bug fortran/97390] [OpenAError compiling acc data present
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Oct 13 17:33:14 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97390
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Error compiling acc data |[OpenAError compiling acc
|present |data present
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Thomas Schwinge from comment #1)
> Would it be the case that this line is longer than 132 characters? [...]
> (I cannot comment on (a) why that's a useful limit to have
I don't know whether it is useful or not, but the Fortran standard has:
"In free source form [...] If a line consists entirely of characters of default
kind (7.4.4), it shall contain at most 132 characters" (Fortran 2018, 6.3.2.1
Free form line length)
> , and (b) whether the error reporting shouldn't be improved.)
Well, the error message without changing the maximal supported line length is
(GCC 9, 10 or 11):
test.f90:2:132:
2 | !$acc data present(tempRbuffer, array, compactHaloInfo,
dimsizes, nHaloLayers, gpu_nList_send, gpu_idx_send, gpu_bufferOffset_send)
async(counter+1)
|
1
Error: Syntax error in OpenMP variable list at (1)
Which looks fine.
However, my error message improvements for GCC 10 really help. With
-ffree-line-length-none, the error is:
With GCC 9's : Error: Unclassifiable OpenACC directive at (1)
With GCC 10 or GCC 11:
2 | !$acc data present(tempRbuffer, array, compactHaloInfo,
dimsizes, nHaloLayers, gpu_nList_send, gpu_idx_send, gpu_bufferOffset_send)
async(counter+1)
|
1
Error: Failed to match clause at (1)
Note the '1' is at 'async(...)'
I claim that GCC is right: 'acc data' does not have a 'async' clause in OpenACC
neither in 2.6 (= supported by GCC 10) nor in 3.0; see
https://www.openacc.org/specification
BTW: Consider using GCC 10, which extended the OpenACC support, cf.
https://gcc.gnu.org/gcc-10/changes.html
More information about the Gcc-bugs
mailing list