[patch, fortran] Fix PR 92004, restore Lapack compilation
Thomas Koenig
tkoenig@netcologne.de
Sat Oct 12 20:00:00 GMT 2019
Hi,
I think I have resolved all the issues (see attached patch and test
case).
Basically, the patch now walks through the refs and looks at the
latest thing that could be an array or a scalar.
Regarding CLASS in argument lists without an explicit interface:
I think that this is disallowed because an explicit interface
is required for a polymorphic dummy argument, and I see no
way of passing a polymorphic argument to a procedure without
having a polymorphic argument as a dummy argument.
While I was at it, I also changed some language to match the
language of the standard more closely.
As you can see in the test case, I tried to cover all relevant
cases.
Regression-tested. OK for trunk?
Regards
Thomas
2019-10-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/92004
* array.c (expand_constructor): Set from_constructor on
expression.
* gfortran.h (gfc_symbol): Add maybe_array.
(gfc_expr): Add from_constructor.
* interface.c (maybe_dummy_array_arg): New function.
(compare_parameter): If the formal argument is generated from a
call, check the conditions where an array element could be
passed to an array. Adjust error message for assumed-shape
or pointer array. Use correct language for assumed shaped arrays.
(gfc_get_formal_from_actual_arglist): Set maybe_array on the
symbol if the actual argument is an array element fulfilling
the conditions of 15.5.2.4.
2019-10-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/92004
* gfortran.dg/argument_checking_24.f90: New test.
* gfortran.dg/abstract_type_6.f90: Add error message.
* gfortran.dg/argument_checking_11.f90: Correct wording
in error message.
* gfortran.dg/argumeent_checking_13.f90: Likewise.
* gfortran.dg/interface_40.f90: Add error message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p8.diff
Type: text/x-patch
Size: 9886 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20191012/fd07fdea/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: argument_checking_24.f90
Type: text/x-fortran
Size: 2285 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20191012/fd07fdea/attachment-0001.bin>
More information about the Gcc-patches
mailing list