Hi Mikael,
Am 28.01.24 um 12:39 schrieb Mikael Morin:
Le 24/01/2024 à 22:39, Harald Anlauf a écrit :
Dear all,
this patch is actually only a followup fix to generate the proper name
of an array reference in derived-type components for the runtime error
message generated for the bounds-checking code. Without the proper
part ref, not only a user may get confused: I was, too...
The testcase is compile-only, as it is only important to check the
strings used in the error messages.
Regtested on x86_64-pc-linux-gnu. OK for mainline?
Thanks,
Harald
Hello,
the change proper looks good, and is an improvement. But I'm a little
concerned by the production of references like in the test x1%vv%z which
could be confusing and is strictly speaking invalid fortran (multiple
non-scalar components). Did you consider generating x1%vv(?,?)%zz or
x1%vv(...)%z or similar?
yes, that seems very reasonable, given that this is what NAG does.
We also have spurious %_data in some error messages that I'll try
to get rid off.
There is another nit about the test, which has dg-output and
dg-shouldfail despite being only a compile-time test.
I'll remove that. With gcc-13 the runtime check would trigger
in the wrong line but the failure of the check is dealt with
by another testcase in gcc-14.
Otherwise looks good.
Mikael
I'll come up with a revised patch. Thanks for the feedback so far!
Harald