From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Colin Paul Gloster Newsgroups: comp.lang.ada Subject: Delays for implementations of Fortran features Date: Sat, 18 Jan 2014 13:40:46 +0100 Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-1982622538-1390048774=:23391" Injection-Info: mx05.eternal-september.org; posting-host="1269e88b772369679a1c60bd0bac220f"; logging-data="10553"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18lfeh3fQ7RUmEIMKp7qO6xv/WgFf26Ck+s55YQZHNd+Q==" User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) Content-ID: Cancel-Lock: sha1:7KWose1mpAQOcXIzes2OPon+l8s= X-X-Sender: gloster@anapnea.net Xref: news.eternal-september.org comp.lang.ada:18210 Date: 2014-01-18T13:40:46+01:00 List-Id: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-1982622538-1390048774=:23391 Content-Type: TEXT/PLAIN; CHARSET=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Content-ID: Dear Ada programmers: Compilers for Fortran codes are lagging behind the Fortran standard. Regards, Colin Paul Gloster On January 13th, 2014, Tom Clune sent to COMP-FORTRAN-90@JISCMail.ac.UK: |--------------------------------------------------------------------------= --| |"On Jan 12, 2014, at 4:44 PM, John Harper wrote: = | | = | | On Fri, 10 Jan 2014, Tom Clune wrote: = | | = | | Date: Fri, 10 Jan 2014 12:48:54 -0500 = | | From: Tom Clune = | | Reply-To: Fortran 90 List = | | = | | To: COMP-FORTRAN-90@JISCMAIL.AC.UK = | | Subject: Re: retraction (was Re: Is this legal = | | (F2003 or F2008)?) = | | = | | On Jan 10, 2014, at 11:36 AM, "Lionel, Steve" = | | wrote: = | | = | | Tom Clune wrote: = | | = | | =E2=9E=A2 The strategy I posted yesterday was = | | flawed in that it attempted to assign a = | | pointer to an internal procedure. Most = | | compiler accepted it, and I had not = | | realized that such a restriction = | | existed. = | | = | | That is legal F2008, and some compilers = | | have supported it for a while. = | | = | | = | | Steve, = | | = | | Thanks for the clarification. = | | = | | It has become an interesting juggling act for = | | developers that must choose between portability and = | | powerful new features. There are a number of = | | things in F2008 that I would absolutely use if all 3 = | | of my baseline compilers supported them. (I don't = | | intend to name names here.) = | | = | | Cheers, = | | = | | - Tom = | | = | | = | | You're lucky if your only problem is unsupported f2008 features. = | | I still avoid f2003 features because some of them are = | | unsupported by some of the = | | 4 compilers I use. So I'm stuck with a Fortran dialect that's 11 = | | years = | | out of date. One non-f95 feature I use occasionally is SYSTEM = | | which is non-standard but all 4 compilers support it, albeit in = | | different ways: some treat it as an intrinsic subroutine, others = | | as an always-available external one, but that's OK if the = | | program says neither INTRINSIC SYSTEM nor EXTERNAL SYSTEM. I use = | | it because the compilers don't all support = | | the f2008 feature EXECUTE_COMMAND_LINE. = | | = | | = | |Sure, there are some F2003 features that I must avoid because one or more = | |compiler does not support them. One fear that I have is that I've = | |"learned" to avoid some of these features and will never integrate them in= to| |my code when they become available. OTOH, I eagerly await the day that = | |gfortran supports deferred-length strings as structure components. = | | = | |And, like yourself, I will use nonstandard, but widely portable extensions= | |such as SYSTEM when appropriate. Occasionally I'll even use #ifdef to = | |kludge a solution for a compiler that lacks a feature (e.g. = | |EXECUTE_COMMAND_LINE, ERROR STOP, etc.) However, conditional = | |compilation is rather limited for working around many missing/broken OO = | |features. = | | = | |Cheers, = | | = | |- Tom = | | = | | = | | = | | = | | -- John Harper, School of Mathematics Statistics and Operations = | | Research = | | Victoria University, PO Box 600, Wellington 6140, New Zealand = | | e-mail john.harper@vuw.ac.nz phone (+64)(4)463 5276 fax = | | (+64)(4)463 5045 = | | = | | = | |Thomas Clune, Ph. D. = | |Chief, Software Systems Support Office Code 610.3 = | |NASA GSFC 301-286-4635 = | |MS 610.8 B33-C128 = | |Greenbelt, MD 20771" = | |--------------------------------------------------------------------------= --| --8323328-1982622538-1390048774=:23391--