<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Fortran 2003 feature implementation in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906790#M82269</link>
    <description>Is there a timeline for the planned release of Fortran 2003 features that aren't implemented yet? I'm particularly interested in polymorphic allocation and the FINAL and GENERIC keywords for type-bound procedures.</description>
    <pubDate>Wed, 27 Jan 2010 19:21:37 GMT</pubDate>
    <dc:creator>MDK</dc:creator>
    <dc:date>2010-01-27T19:21:37Z</dc:date>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906790#M82269</link>
      <description>Is there a timeline for the planned release of Fortran 2003 features that aren't implemented yet? I'm particularly interested in polymorphic allocation and the FINAL and GENERIC keywords for type-bound procedures.</description>
      <pubDate>Wed, 27 Jan 2010 19:21:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906790#M82269</guid>
      <dc:creator>MDK</dc:creator>
      <dc:date>2010-01-27T19:21:37Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906791#M82270</link>
      <description>Polymorphic allocation is already supported, unless I misunderstand what you're referring to. Support for FINAL and GENERIC is planned for late 2010, but that's subject to change.</description>
      <pubDate>Wed, 27 Jan 2010 19:29:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906791#M82270</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-01-27T19:29:07Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906792#M82271</link>
      <description>&lt;P&gt;By polymorphic allocation I mean something like this:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;PRE&gt;[fortran]function alloc(x)

    implicit none
    class(object), intent(in) :: x
    class(object), allocatable :: obj

    allocate (obj, source=x)

end alloc[/fortran]&lt;/PRE&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;With 11.1.054 I get the following compilation error for such constructs:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;error #5415: Feature not yet implemented: SOURCE=polymorphic_expression &lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jan 2010 19:56:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906792#M82271</guid>
      <dc:creator>MDK</dc:creator>
      <dc:date>2010-01-27T19:56:02Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906793#M82272</link>
      <description>Ok, I thought you meant something like allocate(type(foo)::x). What you describe is also planned for late 2010.</description>
      <pubDate>Wed, 27 Jan 2010 20:17:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906793#M82272</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-01-27T20:17:00Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906794#M82273</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I encountered similar problem. In my case CLASS object can be ALLOCATE (i.e. no syntax error), but runtime error occurs.&lt;/P&gt;
&lt;P&gt;Here is the output and code.&lt;/P&gt;
&lt;P&gt;Yamajun&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;draw circle       10.00000       10.00000       6.000000&lt;/P&gt;
&lt;P&gt;draw circle       40.00000       12.00000       10.00000&lt;/P&gt;
&lt;P&gt;location =        20.00000       10.00000&lt;/P&gt;
&lt;P&gt;location =        60.00000       2.000000&lt;/P&gt;
&lt;P&gt;draw rectangle    20.00000       10.00000       35.00000       10.00000&lt;/P&gt;
&lt;P&gt;draw rectangle    60.00000       2.000000       15.00000       8.000000&lt;/P&gt;
&lt;P&gt;forrtl: severe (157): Program Exception - access violation&lt;/P&gt;
&lt;P&gt;Image              PC        Routine            Line        Source&lt;/P&gt;
&lt;P&gt;test2.exe          00401DE2  _MAIN__                    80  test2.f90&lt;/P&gt;
&lt;P&gt;test2.exe          004A9DD3  Unknown               Unknown  Unknown&lt;/P&gt;
&lt;P&gt;test2.exe          0044E0D3  Unknown               Unknown  Unknown&lt;/P&gt;
&lt;P&gt;test2.exe          0044DE9D  Unknown               Unknown  Unknown&lt;/P&gt;
&lt;P&gt;kernel32.dll       7D4F7D42  Unknown               Unknown  Unknown&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;PRE&gt;[fortran]MODULE m_shape
IMPLICIT NONE
 
  TYPE :: t_shape
    REAL :: x = 0.0 , y = 0.0
  CONTAINS
    PROCEDURE :: location
  END TYPE t_shape

CONTAINS

    SUBROUTINE location(this)
      CLASS (t_shape), INTENT(IN) :: this
      PRINT *, 'location =     ', this%x, this%y      
      RETURN
    END SUBROUTINE location

END MODULE m_shape

!===================================================

MODULE m_test
USE m_shape
IMPLICIT NONE
!
  TYPE, EXTENDS(t_shape) :: t_circle
    REAL :: r = 0.0

  CONTAINS
    PROCEDURE :: draw =&amp;gt; draw_circle
  END TYPE t_circle
!
  TYPE, EXTENDS(t_shape) :: t_rectangle
    REAL :: dx = 0.0, dy = 0.0

  CONTAINS
    PROCEDURE :: draw =&amp;gt; draw_rectangle
  END TYPE t_rectangle
!
CONTAINS
 
  SUBROUTINE draw_circle(this)
    CLASS (t_circle), INTENT(IN) :: this
    PRINT *, 'draw circle    ', this%x, this%y, this%r
    RETURN
  END SUBROUTINE draw_circle
 
  SUBROUTINE draw_rectangle(this)
    CLASS (t_rectangle), INTENT(IN) :: this
    PRINT *, 'draw rectangle ', this%x, this%y, this%dx, this%dy
    RETURN
  END SUBROUTINE draw_rectangle
  
END MODULE m_test

!========================================

PROGRAM test
USE m_test
IMPLICIT NONE
  TYPE (t_circle   ), ALLOCATABLE :: c(:)
  TYPE (t_rectangle), ALLOCATABLE :: r1, r2
  CLASS (t_shape)   , ALLOCATABLE :: s1, s2
  
  ALLOCATE( c(2) )
  c(1) = t_circle(10.0, 10.0,  6.0)
  c(2) = t_circle(40.0, 12.0, 10.0)
 
  ALLOCATE( r1, SOURCE = t_rectangle(20.0, 10.0, 35.0, 10.0) )
  ALLOCATE( r2, SOURCE = t_rectangle(60.0,  2.0, 15.0,  8.0) )
 
  CALL c(1)%draw()
  CALL c(2)%draw()
  CALL r1%location()
  CALL r2%location()
  CALL r1%draw()
  CALL r2%draw()
  DEALLOCATE( c, r1, r2 )

  ALLOCATE( s1, SOURCE = t_rectangle(20.0, 10.0, 35.0, 10.0) ) ! Crash here 
  ALLOCATE( s2, SOURCE = t_rectangle(60.0,  2.0, 15.0,  8.0) )
  CALL s1%location()
  CALL s2%location()
  
  STOP
END PROGRAM test
 [/fortran]&lt;/PRE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jan 2010 08:39:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906794#M82273</guid>
      <dc:creator>yamajun2</dc:creator>
      <dc:date>2010-01-28T08:39:31Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906795#M82274</link>
      <description>&lt;P&gt;Yamajun,&lt;/P&gt;
&lt;P&gt;This is a compiler bug that will be fixed in a future update. As a workaround, set the project properties Fortran &amp;gt; Diagnostics &amp;gt; Generate Interface Blocks and Check Routine Interfaces to No.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jan 2010 14:55:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906795#M82274</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-01-28T14:55:42Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906796#M82275</link>
      <description>&lt;P&gt;Steve,&lt;/P&gt;
&lt;P&gt;Thanks! Now it runs fine! I thought I've tried those options after reading your reply in some other thread, but maybe I made some silly mistake.&lt;/P&gt;
&lt;P&gt;There is, however, another problem with TYPE, ABSTRACT. I encounter syntax error#8212.&lt;/P&gt;
&lt;P&gt;Here is a sample code.&lt;/P&gt;
&lt;P&gt;Yamajun&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;PRE&gt;[fortran]MODULE m_shape
IMPLICIT NONE
!
  TYPE, ABSTRACT :: t_shape
    CONTAINS
    PROCEDURE (p_draw), DEFERRED :: draw
  END TYPE t_shape
!
  ABSTRACT INTERFACE
    SUBROUTINE p_draw(this)
      IMPORT :: t_shape
      CLASS (t_shape), INTENT(IN) :: this
    END SUBROUTINE p_draw
  END INTERFACE
!
END MODULE m_shape

!===================================================

MODULE m_test
USE m_shape
IMPLICIT NONE

  TYPE, EXTENDS(t_shape) :: t_circle
    REAL :: x, y
    REAL :: r
  CONTAINS
    PROCEDURE :: draw =&amp;gt; draw_circle
  END TYPE t_circle

CONTAINS
 
  SUBROUTINE draw_circle(this)
    CLASS (t_circle), INTENT(IN) :: this
    PRINT *, 'Darw circle   ', this%x, this%y, this%r
    RETURN
  END SUBROUTINE draw_circle

END MODULE m_test

!========================================
PROGRAM test
USE m_test
IMPLICIT NONE
  TYPE (t_circle) :: c1
  TYPE (t_circle) :: c2
 
  c1 = t_circle(10.0, 5.0, 6.0)  !error #8212: Omitted field is not initialized. Field initialization missing:   &lt;R&gt;
  ALLOCATE( c2, SOURCE = t_circle(10.0, 5.0, 3.0) ) !error #8212: 

  STOP
END PROGRAM test[/fortran]&lt;/R&gt;&lt;/PRE&gt;
&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jan 2010 17:40:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906796#M82275</guid>
      <dc:creator>yamajun2</dc:creator>
      <dc:date>2010-01-28T17:40:43Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906797#M82276</link>
      <description>Thanks, Yamajun, I agree that this is incorrect behavior. I have escalated it as issue DPD200149810.</description>
      <pubDate>Thu, 28 Jan 2010 19:05:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906797#M82276</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-01-28T19:05:36Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906798#M82277</link>
      <description>Is the implementation of allocation using a polymorphic still on track for this year?&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[bash]module demo_module

implicit none

type, public, abstract :: parent_type
    character(12) :: name
    integer :: codeNumber
end type parent_type&lt;BR /&gt;&lt;BR /&gt;contains

subroutine someMethod(object) 
    implicit none
    class (parent_type), intent(in) :: object
    class (parent_type), allocatable :: copy
    allocate(copy,source=object) ! error #5415: Feature not yet implemented: SOURCE=polymorphic_expression
end subroutine someMethod

end module demo_module
[/bash]&lt;/PRE&gt;</description>
      <pubDate>Wed, 22 Sep 2010 12:04:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906798#M82277</guid>
      <dc:creator>Douglas_Peplow</dc:creator>
      <dc:date>2010-09-22T12:04:14Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906799#M82278</link>
      <description>&lt;P&gt;ALLOCATE(source=polymorhic) won't be in the initial release of the next major version of the compiler, which is planned for November. It might be provided in a subsequent update, or perhaps even a subsequent major version.&lt;BR /&gt;&lt;BR /&gt;If parent_type were not abstract, typed allocation might be a workaround, for example,&lt;BR /&gt;ALLOCATE(something_derived_from_parent_type :: copy)&lt;BR /&gt;&lt;BR /&gt;Patrick Kennedy&lt;BR /&gt;Intel Developer Support&lt;/P&gt;</description>
      <pubDate>Wed, 22 Sep 2010 18:38:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906799#M82278</guid>
      <dc:creator>pbkenned1</dc:creator>
      <dc:date>2010-09-22T18:38:13Z</dc:date>
    </item>
    <item>
      <title>Fortran 2003 feature implementation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906800#M82279</link>
      <description>FINAL and GENERIC are in Intel Visual Fortran Composer XE 2011, aka 12.0, available now.</description>
      <pubDate>Mon, 24 Jan 2011 20:22:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fortran-2003-feature-implementation/m-p/906800#M82279</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2011-01-24T20:22:54Z</dc:date>
    </item>
  </channel>
</rss>

