Hi Jerry,
Jerry DeLisle wrote:
Has the above standard officially been approved?
Yes, cf. http://gcc.gnu.org/wiki/GFortranStandards
That's ISO 1539-2:2000. That's an approved standard, it is still in
"maintenance" by WG5. However, similarly to part 3 (conditional compilation), it
might be withdrawn in the future.
Thus "ISO Fortran" still consists of three parts: "Fortran 2008" (= Part 1,
ISO/IEC 1539-1:2010), "ISO Varying Strings" (1539-2:2000) and "conditional
compilation (coco)" (1539-3:1998). All standards are still maintained - but as
written, there are plans to withdraw CoCo (as there is only a single
implementation) and possibly also ISO Varying Strings. However, no formal
procedure to do so has been started yet. Search for "SC22", "Part 3" and "Part
2" at http://www.nag.co.uk/sc22wg5/. For Part 3 (CoCo) a JTC 1 ballot for
withdrawal has been requested at the last SC22 plenary. For Part 2 not (yet).
Thus, Steve's answer at
http://software.intel.com/en-us/forums/showthread.php?t=78419 is misleading.
Are there any plans to implement an intrinsic module for this within gfortran?
I see there is a publicly available implementation, but I do not like the
licensing terms of that one.
Yes and no - I think Paul said something that we once got or were about to get
the permission to include the Fortran implementation in gfortran. While I recall
an email about that, I could not find it when I tried about two years ago.
However, every user can use the Fortran implementations at
http://www.nag.co.uk/sc22wg5/IS1539-2.html and
http://www.fortran.com/iso_varying_string.f95
Note (cf. also Steve Lionel) that ISO varying strings have been kind of
obsoleted by Fortran 2003's deferred type parameters for CHARACTER (allocatable
string lengths), which make together with (re)allocate on assignment the
handling of strings in Fortran rather convenient - and without introducing the
clumsy workaround with having a special data type as Part 2 of ISO Fortran does.
Unfortunately, allocatable string lengths are not yet implemented in gfortran.
(There are still some issues with the way one represents them to the middle end
- Paul had a draft patch, but it did not completely work. Additionally,
(re)allocate on assignment is currently only implemented for arrays.)