On Nov 10 2022, Harald Anlauf via Gcc-patches wrote:

> Dear Fortranners,
>
> the attached patch is a follow-up to the fix for PR107441,
> as it finally fixes the treatment of character dummy arguments
> that have the value,optional attribute, and allows for checking
> of the presence of such arguments.
>
> This entails a small ABI clarification, as the previous text
> was not really clear on the argument passing conventions,
> and the previously generated code was inconsistent at best,
> or rather wrong, for this kind of procedure arguments.
> (E.g. the number of passed arguments was varying...)
>
> Testcase cross-checked with NAG 7.1.
>
> Regtested on x86_64-pc-linux-gnu.  OK for mainline?

This breaks aarch64:

$ /opt/gcc/gcc-20221113/Build/./gcc/xgcc -B/opt/gcc/gcc-20221113/Build/./gcc/ 
-B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem 
/usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include 
-fchecking=1 ../../../../libgomp/testsuite/libgomp.fortran/is_device_ptr-2.f90 
-mabi=lp64 -B/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp/ 
-B/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp/.libs 
-I/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp 
-I../../../../libgomp/testsuite/../../include 
-I../../../../libgomp/testsuite/.. -fmessage-length=0 
-fno-diagnostics-show-caret -fdiagnostics-color=never -fopenmp -O 
-fdump-tree-original 
-B/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp/../libgfortran/.libs 
-fintrinsic-modules-path=/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp
 -L/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp/.libs 
-L/opt/gcc/gcc-20221113/Build/aarch64-suse-linux/./libgomp/../libgfortran/.libs 
-lgfortran -foffload=-lgfortran -lm -o ./is_device_ptr-2.exe
during GIMPLE pass: omplower
../../../../libgomp/testsuite/libgomp.fortran/is_device_ptr-2.f90:66:77: 
internal compiler error: in gfc_omp_check_optional_argument, at 
fortran/trans-openmp.cc:137
0x8acb63 gfc_omp_check_optional_argument(tree_node*, bool)
        ../../gcc/fortran/trans-openmp.cc:137
0xd29fc3 lower_omp_target
        ../../gcc/omp-low.cc:13632
0xd314b3 lower_omp_1
        ../../gcc/omp-low.cc:14523
0xd314b3 lower_omp
        ../../gcc/omp-low.cc:14662
0xd31283 lower_omp_1
        ../../gcc/omp-low.cc:14436
0xd31283 lower_omp
        ../../gcc/omp-low.cc:14662
0xd318a3 lower_omp_1
        ../../gcc/omp-low.cc:14452
0xd318a3 lower_omp
        ../../gcc/omp-low.cc:14662
0xd377fb execute_lower_omp
        ../../gcc/omp-low.cc:14701
0xd377fb execute
        ../../gcc/omp-low.cc:14755
Please submit a full bug report, with preprocessed source (by using 
-freport-bug).

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to