- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I’m a bit confused as to why the compiler is flagging this as an error, because I thought it was one of the F2008 features now supported by ifort:
module mymod implicit none type mt real :: foo contains procedure :: one ,two end type contains function one(this) class(mt) ,intent(in) :: this real :: one one = this%foo + 1.0 end function function two(this) class(mt) ,intent(in) :: this real :: two two = this%foo + 2.0 end function end module
13:37 IBB-MBP-2:intel-bugs $ /usr/bin/ifort multi_tbp_one_procedure_stmt.f90 multi_tbp_one_procedure_stmt.f90(7): error #8259: The type bound procedure definition statement must contains only one binding name. [TWO] procedure :: one ,two -----------------------^ compilation aborted for multi_tbp_one_procedure_stmt.f90 (code 1)
13:38 IBB-MBP-2:intel-bugs $ /usr/bin/ifort -V Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.0.077 Build 20140716 Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
sometimes this seems to go away (with other codes) when I remove the `-stand f08` flag… not sure why.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please update to the current Fortran compiler. It was released in December 2024. The reproducer is accepted without any error messages.
The Fortran compilers are available as part of the Intel HPC Toolkit. You can download it here.
We recommend that you update to the current compiler releases for bug fixes and security features.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Izaak Beekman wrote:
I’m a bit confused as to why the compiler is flagging this as an error, because I thought it was one of the F2008 features now supported by ifort:
...
Not that I've gone looking for such a thing, but I've not seen any evidence Intel Fortran supports this Fortran 2008 feature yet; now as a matter of style, I prefer to have the procedure statement to only include one binding name per line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
huh, it’s my suspicion that this is at least supported under windows, as a collaborator of mine wrote the code that first triggered this error for me and I know he uses ifort as a compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Online documentation (https://software.intel.com/en-us/node/525432) for Intel Fortran, for example, doesn't indicate support for Fortran 2008 syntax.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not supported on Windows:
E:\Projects>ifort -c t.f90
Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 15.0.1.148 Build 20141023
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
t.f90(7): error #8259: The type bound procedure definition statement must contains only one binding name. [TWO]
procedure :: one ,two
-----------------------^
compilation aborted for t.f90 (code 1)
F2003 says:
12 R451 specific-binding is PROCEDURE [ (interface-name) ]
13 [ [ , binding-attr -list ] :: ]
14 binding-name [ => procedure-name ]
F2008 says:
11 R448 type-bound-procedure-stmt is PROCEDURE [ [ , binding-attr-list ] :: ] type-bound-proc-decl-list
12 or PROCEDURE (interface-name), binding-attr-list :: binding-name-list
13 R449 type-bound-proc-decl is binding-name [ => procedure-name ]
I'll make sure that this is on our list of F2008 features to support in the future.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
huh, interesting… maybe he only tested that commit in question with gfortran… or not at all. Who knows… anyway, thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Izaak Beekman wrote:
huh, interesting… maybe he only tested that commit in question with gfortran… or not at all. Who knows… anyway, thanks!
Yes, that's quite possible as gfortran does support this feature. Or it is possible your colleague was misled by the paper by Chivers and Sleighthomme (2014) (http://dl.acm.org/citation.cfm?id=2647345&CFID=471287418&CFTOKEN=20723886) that erroneously indicates such a feature has been implement in Intel Fortran but didn't test it.
Steve, this appears the second time the paper at ACM Fortran Forum has misleading account on Intel Fortran compiler: would Intel care to contact the authors and get the information updated?
Separately, has Intel established a target timeline for becoming a full-feature 2008 compiler and if so, can Intel share it with the forum readers?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I've noticed errors in that chart even when we supply the correct info (which we do for each issue.) I'll double-check - we might have made an error here. We're on good terms with the authors.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is our error that we indicated support for this feature - we thought this had been done a long time ago, but evidently it was overlooked. I have entered issue DPD200365119 for it. Thanks for bringing this to our attention. We'll make sure the next revision of the chart has the correct data, and we'll implement the feature for a future release.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This feature is planned to be added in an update to the 17.0 compiler, probably update 1 in October/November.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have checked my ifort version it is Version 17.0.0.098 Build 20160721.
This is still not supporting the corresponding statement in F2008.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please update to the current Fortran compiler. It was released in December 2024. The reproducer is accepted without any error messages.
The Fortran compilers are available as part of the Intel HPC Toolkit. You can download it here.
We recommend that you update to the current compiler releases for bug fixes and security features.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page