[cmake-developers] [Feature Request] Fortran standards compliance for various compilers

C Bergström cbergstrom at pathscale.com
Sat Apr 22 01:33:57 EDT 2017


On Thu, Apr 20, 2017 at 4:12 AM, Alan W. Irwin
<irwin at beluga.phys.uvic.ca> wrote:
> On 2017-04-19 07:27+0200 Rolf Eike Beer wrote:
>
>>> <Feature Request> What would really be useful is a list containing
>>> what Fortran features from the Fortran 2003 and 2008 standards that the
>>> given Fortran compiler supports.  That information is already
>>
>>
>> To name the kid: this is about adding CMAKE_Fortran_KNOWN_FEATURES and
>> friends, no?
>
>
> I wasn't aware of CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES,
> but now that I have looked them up, I agree adding
> CMAKE_Fortran_KNOWN_FEATURES is the right way to go rather than the
> generic list I proposed above.
>
>> This exactly sounds like the whole compile_features things
>> already done for C and C++, so yet another language shouldn't be too hard
>> I
>> guess.
>
>
> Especially since that Fortran information is already collected in
> well-organized form in on one place, namely
> <http://www.fortranplus.co.uk/app/download/23704631/fortran_2003_2008_compiler_support.pdf>.

With my Fortran compiler vendor hat on - Please do be aware that this
list of supported features may not be 100% accurate.

#1 Vendors can add support that hasn't been reflected in that document

#2 Not all claimed support is created equal. There's quite a few F2K3
OO features that someone can claim to support, but when you start
digging into real code they just flat out fail. (maybe less of the
case now than it was before)

#3 F2K8 aka CAF features could be supported, but may require
additional runtime libraries or 3rd party software to actually work.
For example our implementation ties to specific hardware and may not
be 100% portable. Other implementations may depend on OpenMPI and not
work with MPICH.

I guess I'm saying that auto-detecting this stuff is cool, but do
ensure that someone can easily override it. If as a vendor I say we
support F2K8 and I'd like that enabled by default for supported
versions of the compiler I really don't want to fight against some
auto-test which might think otherwise.


Thanks


More information about the cmake-developers mailing list