1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-02-14 08:48:37 +01:00
slackware-current/testing/source/gcc/patches/gfortran.deferred-shape-vs-assumed-shape.patch
Patrick J Volkerding f0048b9986 Mon Apr 25 20:55:17 UTC 2022
a/kernel-firmware-20220425_ac21ab5-noarch-1.txz:  Upgraded.
d/meson-0.62.1-x86_64-1.txz:  Upgraded.
d/parallel-20220422-noarch-1.txz:  Upgraded.
l/harfbuzz-4.2.1-x86_64-1.txz:  Upgraded.
l/imagemagick-7.1.0_31-x86_64-1.txz:  Upgraded.
l/libseccomp-2.5.4-x86_64-1.txz:  Upgraded.
l/libusb-1.0.26-x86_64-1.txz:  Upgraded.
l/openal-soft-1.22.0-x86_64-1.txz:  Upgraded.
n/proftpd-1.3.7d-x86_64-1.txz:  Upgraded.
x/xdg-desktop-portal-1.14.3-x86_64-1.txz:  Upgraded.
xap/freerdp-2.7.0-x86_64-1.txz:  Upgraded.
  This update is a security and maintenance release.
  For more information, see:
    https://github.com/FreeRDP/FreeRDP/blob/2.7.0/ChangeLog
  (* Security fix *)
testing/packages/gcc-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-brig-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-g++-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-gdc-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-gfortran-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-gnat-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-go-11.3.0-x86_64-1.txz:  Added.
testing/packages/gcc-objc-11.3.0-x86_64-1.txz:  Added.
2022-04-26 06:59:45 +02:00

40 lines
1.4 KiB
Diff

[PATCH] deferred-shape vs assumed-shape
Steve Kargl sgk@troutmask.apl.washington.edu
Wed Apr 1 20:04:43 GMT 2020
See
https://stackoverflow.com/questions/60972134/whats-wrong-with-the-following-fortran-code-gfortran-dtio-dummy-argument-at
Is A(:) a deferred-shape array or an assumed-shape array? The
answer of course depends on context.
This patch fixes the issue found at the above URL.
Index: gcc/fortran/interface.c
===================================================================
--- gcc/fortran/interface.c (revision 280157)
+++ gcc/fortran/interface.c (working copy)
@@ -4916,10 +4916,15 @@ check_dtio_arg_TKR_intent (gfc_symbol *fsym, bool type
|| ((type != BT_CLASS) && fsym->attr.dimension)))
gfc_error ("DTIO dummy argument at %L must be a scalar",
&fsym->declared_at);
- else if (rank == 1
- && (fsym->as == NULL || fsym->as->type != AS_ASSUMED_SHAPE))
- gfc_error ("DTIO dummy argument at %L must be an "
- "ASSUMED SHAPE ARRAY", &fsym->declared_at);
+ else if (rank == 1)
+ {
+ if (fsym->as == NULL
+ || !(fsym->as->type == AS_ASSUMED_SHAPE
+ || (fsym->as->type == AS_DEFERRED && fsym->attr.dummy
+ && !fsym->attr.allocatable && !fsym->attr.pointer)))
+ gfc_error ("DTIO dummy argument at %L must be an "
+ "ASSUMED-SHAPE ARRAY", &fsym->declared_at);
+ }
if (type == BT_CHARACTER && fsym->ts.u.cl->length != NULL)
gfc_error ("DTIO character argument at %L must have assumed length",
--
Steve