<?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 Re: Procedure pointer as an argument to abstract subroutine in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406518#M162333</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/5442"&gt;@Steve_Lionel&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Regarding&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/92920"&gt;@FortranFan&lt;/a&gt;&amp;nbsp;'s example, nagfor accepts this, as it should per C8101. As for ifort, it compiled without complaint for me, so I am not sure what FortranFan saw.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Re: "not sure what FortranFan saw," here is my synopsis:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IFORT accepts the suggestion I made in my first reply on this thread i.e.,&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   abstract interface
      function Ifunc() result(r)  !&amp;lt;-- an arbitrary function interface
         integer :: r
      end function 
      subroutine Iproc(mydata, pfunc)
         import :: t, Ifunc
         class(t),intent(in)                 :: mydata
         procedure(Ifunc), optional, pointer :: pfunc
      end subroutine
   end interface
end module m
&lt;/LI-CODE&gt;
&lt;UL&gt;
&lt;LI&gt;IFORT raises error #8169: "The specified interface is not declared. [FUNC]" message with the PROCEDURE declaration in the abstract interface when the trick with PUBLIC is attempted - see below.&amp;nbsp; This is the same as what was&amp;nbsp;mentioned by&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/5442"&gt;@Steve_Lionel&lt;/a&gt;&amp;nbsp;earlier.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   public :: func !&amp;lt;-- this does not help with IFORT
   abstract interface
      subroutine Iproc(mydata, pfunc)
         import :: t, func
         class(t), intent(in)               :: mydata
         procedure(func), optional, pointer :: pfunc
      end subroutine
   end interface
contains
   function func() result(r)  !&amp;lt;-- an arbitrary function interface
      integer :: r
   end function 
end module m
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 07 Aug 2022 01:08:46 GMT</pubDate>
    <dc:creator>FortranFan</dc:creator>
    <dc:date>2022-08-07T01:08:46Z</dc:date>
    <item>
      <title>Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406148#M162317</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Is it possible to have a procedure pointer as an argument for a subroutine declared within an abstract interface block? Below is the general idea behind my code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;MODULE MyMod
    
    TYPE,ABSTRACT MyType
    CONTAINS
       PROCEDURE(Abstract_Proc),PASS,DEFERRED :: Proc
    END TYPE MyType
    
CONTAINS

    ABSTRACT INTERFACE
       SUBROUTINE Abstract_Proc(MyData,pFunc)
         IMPORT :: MyType,Func
         CLASS(MyType),INTENT(IN)         :: MyData
         PROCEDURE(Func),OPTIONAL,POINTER :: pFunc
       END SUBROUTINE Abstract_Proc
    END INTERFACE
    
    
    SUBROUTINE Func(...)
      ....
    END SUBROUTINE Func
    
END MODULE MyMod&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;Based on the example, compiler gives me the following error:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error #8169: The specified interface is not declared. [FUNC]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there a way to get the compiler recognize Func as an explicit interface?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Jon&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2022 23:35:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406148#M162317</guid>
      <dc:creator>Jon_D</dc:creator>
      <dc:date>2022-08-04T23:35:02Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406181#M162318</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/84986"&gt;@Jon_D&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Yes, there is.&amp;nbsp; Though most readers who can help will likely need to see an actual reproducer to point out to you what to fix in the code you have now.&lt;/P&gt;
&lt;P&gt;However you may also want to consider another approach that is more akin to "conventional wisdom" given the influence of C "family" of languages and which is to apply an abstract interface for your function pointer as well.&amp;nbsp; That wat you separate the implementation from the interface and the implementation can be "remote" (often an advantage in terms of module and/or IP management, etc.) and the compiler will raise diagnostics during procedure pointer assignment if there is an interface mismatch.&amp;nbsp; That is, you can take a look at something like this:&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   abstract interface
      function Ifunc() result(r)  !&amp;lt;-- an arbitrary function interface
         integer :: r
      end function 
      subroutine Iproc(mydata, pfunc)
         import :: t, Ifunc
         class(t),intent(in)                 :: mydata
         procedure(Ifunc), optional, pointer :: pfunc
      end subroutine
   end interface
end module m
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 01:40:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406181#M162318</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2022-08-05T01:40:10Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406326#M162320</link>
      <description>&lt;P&gt;I don't see why this shouldn't work. I corrected the syntax errors in your pseudocode, including moving the abstract interface to before the CONTAINS):&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;MODULE MyMod
    
    TYPE,ABSTRACT :: MyType
    CONTAINS
       PROCEDURE(Abstract_Proc),PASS,DEFERRED :: Proc
    END TYPE MyType

    ABSTRACT INTERFACE
       SUBROUTINE Abstract_Proc(MyData,pFunc)
         IMPORT :: MyType,Func
         CLASS(MyType),INTENT(IN)         :: MyData
         PROCEDURE(Func),OPTIONAL,POINTER :: pFunc
       END SUBROUTINE Abstract_Proc
    END INTERFACE
    
CONTAINS

    SUBROUTINE Func()
     ! ....
    END SUBROUTINE Func
    
END MODULE MyMod&lt;/LI-CODE&gt;
&lt;P&gt;Both ifort and nagfor complain that Func can't be imported because it doesn't exist. This... confuses me, and I am going to ask for clarification. I'd expect the name Func to be accessible in the module (it certainly would be in other module procedures, and one could name it in a PRIVATE statement.)&lt;/P&gt;
&lt;P&gt;The following is accepted, however. I haven't expanded this to a complete example.&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;MODULE MyMod
    
    TYPE,ABSTRACT :: MyType
    CONTAINS
       PROCEDURE(Abstract_Proc),PASS,DEFERRED :: Proc
    END TYPE MyType

    ABSTRACT INTERFACE
       SUBROUTINE Func_INT()
       END SUBROUTINE FUNC_INT
       SUBROUTINE Abstract_Proc(MyData,pFunc)
         IMPORT :: MyType,Func_Int
         CLASS(MyType),INTENT(IN)         :: MyData
         PROCEDURE(Func_Int),OPTIONAL,POINTER :: pFunc
       END SUBROUTINE Abstract_Proc
    END INTERFACE
    
CONTAINS

    Subroutine Func()
     ! ....
    END SUBROUTINE Func
    
END MODULE MyMod&lt;/LI-CODE&gt;
&lt;P&gt;What I did here was create an abstract interface for a procedure that has the same interface as Func.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 13:44:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406326#M162320</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-05T13:44:28Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406455#M162326</link>
      <description>&lt;P&gt;It is surprising to find Intel Fortran and gfortran also raise errors when they process ok a variant below which is admittedly more straightforward in that there is no aspect of a forward reference coming into play:&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;module k
contains
   function func() result(r)
      integer :: r
      r = 0
   end function 
end module 
module m
   use k, only : func
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   abstract interface
      subroutine Iproc(mydata, pfunc)
         import :: t, func
         class(t),intent(in)                :: mydata
         procedure(func), optional, pointer :: pfunc
      end subroutine
   end interface
end module m
&lt;/LI-CODE&gt;
&lt;P&gt;Based on a quick glance at the standard, I didn't notice any restriction with the IMPORT of a host entity that is a module procedure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ostensibly 3 different compilers appear to have gotten the semantics wrong which I do find hard to believe but the standard&amp;nbsp; looks alright in this case.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Aug 2022 00:13:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406455#M162326</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2022-08-06T00:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406457#M162327</link>
      <description>&lt;P&gt;Another observation - if I add PUBLIC:: FUNC to my first rewrite above, NAG accepts it but ifort doesn't (ifort doesn't complain about the PUBLIC, but the IMPORT.) Something very weird is happening here.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Aug 2022 00:21:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406457#M162327</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-06T00:21:33Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406494#M162330</link>
      <description>&lt;P&gt;I asked Malcolm Cohen (NAG, world's best expert on the fine details of the language) about this. He pointed me to:&lt;/P&gt;
&lt;P&gt;C8101 Within an interface body, an entity that is accessed by host association shall be accessible by host or use&amp;nbsp;association within the host scoping unit, or explicitly declared prior to the interface body. (8.8 IMPORT statement)&lt;/P&gt;
&lt;P&gt;He then commented, "i.e., what we usually term “previously declared”. This is how we prevent circular dependencies (and avoid requiring the processor to topologically sort declarations by their dependencies)."&lt;/P&gt;
&lt;P&gt;I then went hunting for words that would support the appearance of Func in the PUBLIC statement as being a prior explicit declaration, and found 3.48 which defines "declaration" as "specification of attributes for various program entities", so I suppose that counts.&lt;/P&gt;
&lt;P&gt;Given this, ifort should have accepted the version with the uncommented PUBLIC and I'll report that to Intel.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Aug 2022 14:36:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406494#M162330</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-06T14:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406495#M162331</link>
      <description>&lt;P&gt;Regarding&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/92920"&gt;@FortranFan&lt;/a&gt;&amp;nbsp;'s example, nagfor accepts this, as it should per C8101. As for ifort, it compiled without complaint for me, so I am not sure what FortranFan saw.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Aug 2022 14:42:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406495#M162331</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-06T14:42:40Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406496#M162332</link>
      <description>&lt;P&gt;I noted that, with the PUBLIC declaration, ifort complains about the PROCEDURE statement saying "The specified interface is not declared." It didn't complain about the IMPORT, which is good.&lt;/P&gt;
&lt;P&gt;So, I chased down the PROCEDURE declaration statement and found:&lt;/P&gt;
&lt;P&gt;C1515 (R1516) The name shall be the name of an abstract interface or of a procedure that has an explicit&amp;nbsp;interface. If name is declared by a procedure-declaration-stmt it shall be previously declared.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this example, Func does have an explicit interface and is not declared by a procedure-declaration-stmt, so there is no requirement that it be previously declared.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Aug 2022 14:50:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406496#M162332</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-06T14:50:51Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406518#M162333</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/5442"&gt;@Steve_Lionel&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Regarding&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/92920"&gt;@FortranFan&lt;/a&gt;&amp;nbsp;'s example, nagfor accepts this, as it should per C8101. As for ifort, it compiled without complaint for me, so I am not sure what FortranFan saw.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Re: "not sure what FortranFan saw," here is my synopsis:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IFORT accepts the suggestion I made in my first reply on this thread i.e.,&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   abstract interface
      function Ifunc() result(r)  !&amp;lt;-- an arbitrary function interface
         integer :: r
      end function 
      subroutine Iproc(mydata, pfunc)
         import :: t, Ifunc
         class(t),intent(in)                 :: mydata
         procedure(Ifunc), optional, pointer :: pfunc
      end subroutine
   end interface
end module m
&lt;/LI-CODE&gt;
&lt;UL&gt;
&lt;LI&gt;IFORT raises error #8169: "The specified interface is not declared. [FUNC]" message with the PROCEDURE declaration in the abstract interface when the trick with PUBLIC is attempted - see below.&amp;nbsp; This is the same as what was&amp;nbsp;mentioned by&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/5442"&gt;@Steve_Lionel&lt;/a&gt;&amp;nbsp;earlier.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   public :: func !&amp;lt;-- this does not help with IFORT
   abstract interface
      subroutine Iproc(mydata, pfunc)
         import :: t, func
         class(t), intent(in)               :: mydata
         procedure(func), optional, pointer :: pfunc
      end subroutine
   end interface
contains
   function func() result(r)  !&amp;lt;-- an arbitrary function interface
      integer :: r
   end function 
end module m
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Aug 2022 01:08:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406518#M162333</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2022-08-07T01:08:46Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406519#M162334</link>
      <description>&lt;P&gt;Another option that works with gfortran but not IFORT is to declare a dispensable object with the procedure pointer attribute that has the same interface as `func`:&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;module m
   type, abstract :: t
   contains
      procedure(Iproc), pass, deferred :: proc
   end type t
   procedure(func), pointer :: foo =&amp;gt; null() !&amp;lt;-- This "trick" helps with gfortran, but not IFORT
   abstract interface
      subroutine Iproc(mydata, pfunc)
         import :: t, func
         class(t), intent(in)               :: mydata
         procedure(func), optional, pointer :: pfunc
      end subroutine
   end interface
contains
   function func() result(r)  !&amp;lt;-- an arbitrary function interface
      integer :: r
   end function 
end module m
&lt;/LI-CODE&gt;</description>
      <pubDate>Sun, 07 Aug 2022 01:18:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406519#M162334</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2022-08-07T01:18:35Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406557#M162335</link>
      <description>&lt;P&gt;IMHO&lt;/P&gt;
&lt;P&gt;You are asking a lot of the poor compiler writers to get this correct the first time.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The number of test combinations must be enormous.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case in point:&lt;/P&gt;
&lt;P&gt;In 1972,&amp;nbsp;A. SUDHAKAR, a brilliant young engineering programmer, who sadly died too young, invented ULARC.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ULARC provided the starting code for a lot of more advanced, but less useful programs.&amp;nbsp; His program is simple and fast, but the follow-on programs are bloated and slow.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One line has 17HMember,4HNode&lt;/P&gt;
&lt;P&gt;Clearly, in error, a lot of people have looked at this output over many years, it was only on Friday I noticed that the 17H should be 7.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Humans make errors.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank the gods, that we have a large body of human nerds, who are able to test the stuff and have the place to report the errors.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That is one of Fortran's gifts to the gods and Intel and NAG etc...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Anyway, I enjoy the discussion.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Aug 2022 15:35:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406557#M162335</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2022-08-07T15:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406558#M162336</link>
      <description>&lt;P&gt;An example of our Father's code again:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="fortran"&gt;EigenSolver and PARDISO SOLVER.
                      IMPLEMENTATION OF THE JACOBI EIGENVALUE-VECTOR PROGRAM BY
                      H. RUTISHAUSER, HANDBOOK FOR AUTOMATIC COMPUTING, VOL II,
                      SPRINGER-VERLAG, NEW YORK (1971) PP.202-211
                      WRITTEN 28 January 1975, BY PAUL S. JENSEN&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Aug 2022 16:07:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406558#M162336</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2022-08-07T16:07:24Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406559#M162337</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/92920"&gt;@FortranFan&lt;/a&gt;&amp;nbsp;, I misunderstood what you wrote, when you said, "&lt;SPAN&gt;It is surprising to find Intel Fortran and gfortran also raise errors when they process ok a variant below which is admittedly more straightforward in that there is no aspect of a forward reference coming into play:", getting confused by your saying both "raise errors" and "process ok". On a reread I think I understand now what you were getting at.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I have submitted a problem report to Intel on this matter.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Aug 2022 16:39:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1406559#M162337</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2022-08-07T16:39:31Z</dc:date>
    </item>
    <item>
      <title>Re: Procedure pointer as an argument to abstract subroutine</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1447119#M164481</link>
      <description>&lt;P&gt;This error was fixed in the 2023.0 release.&lt;/P&gt;</description>
      <pubDate>Mon, 16 Jan 2023 16:07:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Procedure-pointer-as-an-argument-to-abstract-subroutine/m-p/1447119#M164481</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2023-01-16T16:07:56Z</dc:date>
    </item>
  </channel>
</rss>

