Hi Paul, hi all fortran@/gcc-patch@ reader,
it looks as if you replied with your patch submission to the wrong email
address – and your re-submission ended up at https://gcc.gnu.org/PR99602#c17
On 16.03.21 18:08, Tobias Burnus wrote:
On 16.03.21 17:42, Paul Richard Thomas via Gcc-patches wrote:
Fortran: Fix runtime errors for class actual arguments [PR99602].
* trans-array.c (gfc_conv_procedure_call): For class formal
arguments, use the _data field attributes for runtime errors.
* gfortran.dg/pr99602.f90: New test.
Shouldn't there be also a testcase which triggers this run-time error?
Note: The new submission consists of a new testcase (now two) and the
actual patch; the new testcase removes 'pointer' from the dummy argument
of prepare_m2_proc/prepare_whizard_m2 and checks via the
-ftree-original-dump that there is now run-time check code inserted when
passing a (nullified) pointer to a nonpointer dummy argument.
Compared to previous patch, 'fsym_attr.pointer =
fsym_attr.class_pointer' is new, before it was 'fsym_attr.pointer =
fsym_attr.pointer'.
Paul Richard Thomas wrote in PR99602:
Good morning all,
I have attached the revised patch and an additional testcase. I had totally
forgotten about the class pointer gotcha.
OK for master?
Paul
Fortran: Fix runtime errors for class actual arguments [PR99602
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99602>].
LGTM – thanks for the patch.
I am wondering whether the second testcase should be a 'dg-do run' test
instead of 'compile' to ensure that the error is indeed triggered
(currently, it only checks the tree dump that a check is inserted). What
do you think? [If you do so, you need a dg-shouldfail + dg-output, cf.
e.g. pointer_check_5.f90.]
Thanks,
Tobias
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank
Thürauf