[Bug fortran/54613] New: [F2003/F2008] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Sep 18 07:41:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54613
Bug #: 54613
Summary: [F2003/F2008] Add FINDLOC plus support MAXLOC/MINLOC
with KIND=/BACK=
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
Fortran 2003 (cf. PR 29600) added KIND= to MINLOC/MAXLOC, Fortran 2008 added
BACK=. Additionally, Fortran 2008 added FINDLOC with a similar syntax.
See also James' post in "binary data"
https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.fortran/GpaACNKn0Ds
"As can be seen from the commented out code, gfortran does not yet
implement the BACK= argument for the MAXLOC and MINLOC intrinsics,
doesn't yet implement MAXLOC, MAXVAL, MINLOC, MINVAL for constant
expressions and doesn't implement FINDLOC at all."
See also his comments in
https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.fortran/5eAz5ns6AG0
The first step is to implement the run-time version, i.e. extending
MINLOC/MAXLOC and adding FINDLOC.
(trans-intrinsic.c version, frontend-optimization.c and the library version,
possibly such that one doesn't cause an explosion of the intrinsics, e.g. only
returning default + index-type? If so, one needs to have a RANGE_REF copy for
the array results - and for the MASK argument.)
As a next step, one has to think of the compile-time simplification of
{MIN,MAX}{VAL,LOC},FINDLOC.
More information about the Gcc-bugs
mailing list