<?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 Quote:jimdempseyatthecove in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964026#M95286</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jimdempseyatthecove wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Zaak,&lt;/P&gt;

&lt;P&gt;Assuming the nopass technique&amp;nbsp; corrects the compiler complaint of compliance to the standard...&lt;BR /&gt;
	&lt;BR /&gt;
	And assume the user wishes to pass the "this" pointer...&lt;BR /&gt;
	&lt;BR /&gt;
	Could the user then explicitly declare the "this" pointer in the function interface?&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Jim,&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I'm not sure what you mean by the &lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;"this" &lt;U&gt;pointer&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;. If the user&amp;nbsp;&lt;/SPAN&gt;&lt;EM style="font-size: 1em; line-height: 1.5;"&gt;did&lt;/EM&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;want to pass the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="font-size: 1em; line-height: 1.5;"&gt;&lt;EM&gt;object&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;as an actual argument to type bound procedure (TBP) or procedure being pointed to by the procedure pointer component, then the canonical way of doing this is to specify the first dummy argument of the procedure as being type-compatible with the encompassing "this" object and without adding any pass or nopass attributes to the component specification. If the procedure had only this one dummy argument, then when it is invoked via the TBP or procedure-pointer component, the encompassing object is implicitly passed as the first actual argument, and the user can invoke the procedure with no (explicit) actual arguments. e.g., obj%method(). If one were to give the TBP/procedure-pointer component the nopass attribute then the procedure could be invoked explicitly passing the object: obj%method(obj). These two scenarios are identical. In general I think explicit is better than implicit, but in this context it is reasonable to expect a procedure bound to an object to modify the objects state and appreciate the decrease in verbosity associated with this language feature.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;So, if I correctly understand your question, the answer is 'yes.' At any rate, between this post and Fortran Fan's hopefully we've covered the ins and outs of the pass(_____) and nopass attribute, and objects implicitly or explicitly passed as actual arguments to their TBPs/procedure-pointer components.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 30 Mar 2014 21:19:01 GMT</pubDate>
    <dc:creator>Izaak_Beekman</dc:creator>
    <dc:date>2014-03-30T21:19:01Z</dc:date>
    <item>
      <title>Static array of procedure pointers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964019#M95279</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I am trying to construct a static array of procedure pointers like this:&lt;/P&gt;

&lt;DIV style="font-family: 'Courier New'; font-size: 10pt;"&gt;
	&lt;PRE&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;abstract&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;interface&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int (arg)&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;integer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;integer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;intent&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;(IN) :: arg&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;interface&lt;/SPAN&gt;

&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;(USERFUNC_int), &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;pointer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; :: pcfs(100)&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;but the compiler complains about the "(":&lt;/P&gt;

&lt;P&gt;error #5082: Syntax error, found '(' when expecting one of:&amp;nbsp;&amp;nbsp;, &amp;lt;END-OF-STATEMENT&amp;gt; ; =&amp;gt;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; procedure(USERFUNC_int), pointer :: pcfs(100)&lt;/P&gt;

&lt;P&gt;It is possible to declare a static array of procedure pointers? I am using ifort 13.1.3.0.&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Rak&lt;/P&gt;</description>
      <pubDate>Fri, 28 Mar 2014 16:31:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964019#M95279</guid>
      <dc:creator>rakkota</dc:creator>
      <dc:date>2014-03-28T16:31:35Z</dc:date>
    </item>
    <item>
      <title>Moreover, if I am trying to</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964020#M95280</link>
      <description>&lt;P&gt;Moreover, if I am trying to circumvent the problem by embedding the function pointer into a derived type as follows&lt;/P&gt;

&lt;DIV style="font-family: 'Courier New'; font-size: 10pt;"&gt;
	&lt;PRE&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;module&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; pcf_mod&lt;/SPAN&gt;

&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;abstract&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;interface&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int (arg)&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;integer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;integer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;intent&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;(IN) :: arg&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; USERFUNC_int&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;interface&lt;/SPAN&gt;

&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;type&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; :: ARRPROCPOINTER &lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;(USERFUNC_int), &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;pointer&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; :: pcf&lt;/SPAN&gt;
&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;type&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; ARRPROCPOINTER&lt;/SPAN&gt;

&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;type&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;(ARRPROCPOINTER) :: pcfs(&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 128); background-position: initial initial; background-repeat: initial initial;"&gt;100&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;)&lt;/SPAN&gt;

&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt;      &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(128, 0, 128); font-weight: bolder; background-position: initial initial; background-repeat: initial initial;"&gt;module&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial;"&gt; pcf_mod&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/DIV&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I am getting a&amp;nbsp;&lt;/SPAN&gt;totally&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;unrelated compiler error:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;error #8262: The passed-object dummy argument must be dummy&amp;nbsp;data object with the same declared type as the type being defined. &amp;nbsp; [ARG]&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function USERFUNC_int (arg)&lt;/P&gt;

&lt;P&gt;Removing the type related lines it compiles fine. It seems that I am stuck.&lt;/P&gt;

&lt;P&gt;Rak&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Mar 2014 16:49:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964020#M95280</guid>
      <dc:creator>rakkota</dc:creator>
      <dc:date>2014-03-28T16:49:42Z</dc:date>
    </item>
    <item>
      <title>As you found out, you have to</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964021#M95281</link>
      <description>&lt;P&gt;As you found out, you have to use a derived type here. Fortran doesn't have the notion of an array of pointers.&lt;/P&gt;

&lt;P&gt;The new error is simply a compiler bug. For some reason it thinks you're declaring a type-bound procedure, which you aren't. That's just weird - I will report it to the developers.&lt;/P&gt;</description>
      <pubDate>Sat, 29 Mar 2014 00:00:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964021#M95281</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-03-29T00:00:30Z</dc:date>
    </item>
    <item>
      <title>Quote:Steve Lionel (Intel)</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964022#M95282</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Steve Lionel (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The new error is simply a compiler bug. For some reason it thinks you're declaring a type-bound procedure, which you aren't. That's just weird - I will report it to the developers.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Steve, according to Fortran 95/2003 by M,R,C this is correct behavior:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;When a procedure pointer component (or a type-bound procedure, Section 16.6) is invoked the object through which it is invoked is normally passed to the procedure as its first actual argument and the items in the parenthesized list are the other actual arguments. This could be undesirable; for instance, it might be wished to pass the object to a dummy argument other than the first or not to pass it at all.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;Therefore, I don't think this is a compiler bug. For the OP to get the intended behavior, simply add the nopass attribute to the procedure pointer declaration in the derived type:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      type :: ARRPROCPOINTER
        procedure(USERFUNC_int), pointer, nopass :: pcf
      end type ARRPROCPOINTER&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 29 Mar 2014 19:58:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964022#M95282</guid>
      <dc:creator>Izaak_Beekman</dc:creator>
      <dc:date>2014-03-29T19:58:15Z</dc:date>
    </item>
    <item>
      <title>Well, I'll be darned. I'm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964023#M95283</link>
      <description>&lt;P&gt;Well, I'll be darned. I'm always learning something new about this language.... Indeed you are correct, Zaak.&lt;/P&gt;</description>
      <pubDate>Sat, 29 Mar 2014 23:56:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964023#M95283</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-03-29T23:56:27Z</dc:date>
    </item>
    <item>
      <title>Yeah, how they arrived at</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964024#M95284</link>
      <description>&lt;P&gt;Yeah, how they arrived at some of the finer points of the syntax for procedure pointer components really seems non-intuitive to me.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 30 Mar 2014 14:42:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964024#M95284</guid>
      <dc:creator>Izaak_Beekman</dc:creator>
      <dc:date>2014-03-30T14:42:15Z</dc:date>
    </item>
    <item>
      <title>Zaak,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964025#M95285</link>
      <description>&lt;P&gt;Zaak,&lt;/P&gt;

&lt;P&gt;Assuming the nopass technique&amp;nbsp; corrects the compiler complaint of compliance to the standard...&lt;BR /&gt;
	And assume the user wishes to pass the "this" pointer...&lt;BR /&gt;
	Could the user then explicitly declare the "this" pointer in the function interface?&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 30 Mar 2014 16:05:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964025#M95285</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2014-03-30T16:05:10Z</dc:date>
    </item>
    <item>
      <title>Quote:jimdempseyatthecove</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964026#M95286</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jimdempseyatthecove wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Zaak,&lt;/P&gt;

&lt;P&gt;Assuming the nopass technique&amp;nbsp; corrects the compiler complaint of compliance to the standard...&lt;BR /&gt;
	&lt;BR /&gt;
	And assume the user wishes to pass the "this" pointer...&lt;BR /&gt;
	&lt;BR /&gt;
	Could the user then explicitly declare the "this" pointer in the function interface?&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Jim,&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I'm not sure what you mean by the &lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;"this" &lt;U&gt;pointer&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;. If the user&amp;nbsp;&lt;/SPAN&gt;&lt;EM style="font-size: 1em; line-height: 1.5;"&gt;did&lt;/EM&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;want to pass the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="font-size: 1em; line-height: 1.5;"&gt;&lt;EM&gt;object&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;as an actual argument to type bound procedure (TBP) or procedure being pointed to by the procedure pointer component, then the canonical way of doing this is to specify the first dummy argument of the procedure as being type-compatible with the encompassing "this" object and without adding any pass or nopass attributes to the component specification. If the procedure had only this one dummy argument, then when it is invoked via the TBP or procedure-pointer component, the encompassing object is implicitly passed as the first actual argument, and the user can invoke the procedure with no (explicit) actual arguments. e.g., obj%method(). If one were to give the TBP/procedure-pointer component the nopass attribute then the procedure could be invoked explicitly passing the object: obj%method(obj). These two scenarios are identical. In general I think explicit is better than implicit, but in this context it is reasonable to expect a procedure bound to an object to modify the objects state and appreciate the decrease in verbosity associated with this language feature.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;So, if I correctly understand your question, the answer is 'yes.' At any rate, between this post and Fortran Fan's hopefully we've covered the ins and outs of the pass(_____) and nopass attribute, and objects implicitly or explicitly passed as actual arguments to their TBPs/procedure-pointer components.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 30 Mar 2014 21:19:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964026#M95286</guid>
      <dc:creator>Izaak_Beekman</dc:creator>
      <dc:date>2014-03-30T21:19:01Z</dc:date>
    </item>
    <item>
      <title>Quote:jimdempseyatthecove</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964027#M95287</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jimdempseyatthecove wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;...&lt;BR /&gt;
	And assume the user wishes to pass the "this" pointer...&lt;BR /&gt;
	&lt;BR /&gt;
	Could the user then explicitly declare the "this" pointer in the function interface?&lt;/P&gt;

&lt;P&gt;...&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Jim,&lt;/P&gt;

&lt;P&gt;Is the functionality shown in the code&amp;nbsp;below&amp;nbsp;what you're asking about?&amp;nbsp; It is standard Fortran.&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;&amp;nbsp;&amp;nbsp; module pcf_mod
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type :: ARRPROCPOINTER 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure(USERFUNC_int), pointer, pass(this) :: pcf
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end type ARRPROCPOINTER
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abstract interface
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function USERFUNC_int (arg, this)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; import :: ARRPROCPOINTER
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer USERFUNC_int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer, intent(IN) :: arg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class(ARRPROCPOINTER) :: this
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end function USERFUNC_int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end interface
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(ARRPROCPOINTER) :: pcfs(100)
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; end module pcf_mod
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; program p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: i, j, k
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pcfs(i)%pcf =&amp;gt; foo
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k = pcfs(i)%pcf(j)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .. 
&amp;nbsp;&amp;nbsp; end program p
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Note how the interface has been changed to refer to the invoking object via the "this" dummy argument.&amp;nbsp; You may also know that by using the PASS attribute in the PROCEDURE statement in the derived type declaration, the developer can make the "this"&amp;nbsp;argument to be second, third, or wherever appropriate&amp;nbsp;on the&amp;nbsp;dummy argument list; it doesn't have to be first.&amp;nbsp; Also, the argument can be named "this", "self", "me", etc.&amp;nbsp; - whatever&amp;nbsp;naming convention is preferred.&lt;/P&gt;</description>
      <pubDate>Sun, 30 Mar 2014 23:55:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964027#M95287</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2014-03-30T23:55:41Z</dc:date>
    </item>
    <item>
      <title>Quote:Izaak Beekman wrote:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964028#M95288</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Izaak Beekman wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;...&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;If one were to give the TBP/procedure-pointer component the nopass attribute then the procedure could be invoked explicitly passing the object: obj%method(obj). ...&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;In such a case, the invocation becomes analogous to that of a conventional Fortran subprogram: CALL method(obj,..) in the case of&amp;nbsp;a subroutine and foo =&amp;nbsp;method(obj,..) for a function.&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2014 00:02:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964028#M95288</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2014-03-31T00:02:18Z</dc:date>
    </item>
    <item>
      <title>Quote:Izaak Beekman wrote:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964029#M95289</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Izaak Beekman wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Yeah, how they arrived at some of the finer points of the syntax for procedure pointer components really seems non-intuitive to me.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Things start to make a little bit of sense to me when I consider what would be required for consistency with legacy FORTRAN.&amp;nbsp; I assume that is what the&amp;nbsp;Fortran 2003 standard writers had to contend with, trying to add new features while retaining syntax that, at a base level, is&amp;nbsp;not alien to how it has been done since FORTRAN IV perhaps, or definitely FORTRAN 77.&amp;nbsp; Considering all the constraints that any standards body would normally face and when one piles all the legacy stuff on top of it,&amp;nbsp;I think Fortran 2003 creators did a remarkable job.&amp;nbsp; But for many Fortran 2003 and 2008 features, I don't think I'll be writing any new code in Fortran!&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2014 00:18:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964029#M95289</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2014-03-31T00:18:09Z</dc:date>
    </item>
    <item>
      <title>Thank you all for</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964030#M95290</link>
      <description>&lt;P&gt;Thank you all for enlightening discussions on this subject. The code provided by FortranFan works like a charm. I have to admit that I would have never be able guess the correct syntax in this case, regardless of the modern FORTRAN bibliography worldwide available. The most puzzling for me is the presence of 'this' at lines 4, 8 and 12.&lt;/P&gt;

&lt;P&gt;Rak&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;FortranFan wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Quote:&lt;/STRONG&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;&lt;EM&gt;jimdempseyatthecove&lt;/EM&gt; wrote:

	&lt;P&gt;...&lt;BR /&gt;
		&lt;BR /&gt;
		And assume the user wishes to pass the "this" pointer...&lt;BR /&gt;
		&lt;BR /&gt;
		&lt;BR /&gt;
		&lt;BR /&gt;
		Could the user then explicitly declare the "this" pointer in the function interface?&lt;/P&gt;

	&lt;P&gt;...&lt;/P&gt;

	&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;Jim,&lt;/P&gt;

&lt;P&gt;Is the functionality shown in the code&amp;nbsp;below&amp;nbsp;what you're asking about?&amp;nbsp; It is standard Fortran.&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;&amp;nbsp;&amp;nbsp; module pcf_mod
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type :: ARRPROCPOINTER 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure(USERFUNC_int), pointer, pass(this) :: pcf
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end type ARRPROCPOINTER
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abstract interface
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function USERFUNC_int (arg, this)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; import :: ARRPROCPOINTER
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer USERFUNC_int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer, intent(IN) :: arg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class(ARRPROCPOINTER) :: this
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end function USERFUNC_int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end interface
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(ARRPROCPOINTER) :: pcfs(100)
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; end module pcf_mod
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; program p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: i, j, k
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pcfs(i)%pcf =&amp;gt; foo
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k = pcfs(i)%pcf(j)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .. 
&amp;nbsp;&amp;nbsp; end program p
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Note how the interface has been changed to refer to the invoking object via the "this" dummy argument.&amp;nbsp; You may also know that by using the PASS attribute in the PROCEDURE statement in the derived type declaration, the developer can make the "this"&amp;nbsp;argument to be second, third, or wherever appropriate&amp;nbsp;on the&amp;nbsp;dummy argument list; it doesn't have to be first.&amp;nbsp; Also, the argument can be named "this", "self", "me", etc.&amp;nbsp; - whatever&amp;nbsp;naming convention is preferred.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Apr 2014 15:48:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964030#M95290</guid>
      <dc:creator>rakkota</dc:creator>
      <dc:date>2014-04-02T15:48:49Z</dc:date>
    </item>
    <item>
      <title>Rak,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964031#M95291</link>
      <description>&lt;P&gt;Rak,&lt;/P&gt;

&lt;P&gt;You can just use the code you posted in your second example, but change&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      type :: ARRPROCPOINTER 
        procedure(USERFUNC_int), pointer :: pcf
      end type ARRPROCPOINTER&lt;/PRE&gt;

&lt;P&gt;with this:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      type :: ARRPROCPOINTER 
        procedure(USERFUNC_int), pointer, nopass :: pcf
      end type ARRPROCPOINTER&lt;/PRE&gt;

&lt;P&gt;Fortran Fan was answering Jim's question. You do not need the extraneous dummy argument 'this' just add the nopass attribute to the procedure pointer component in your original code from your second post, as I showed above. I highly recommend this route over adding the unused dummy argument.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Apr 2014 16:39:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964031#M95291</guid>
      <dc:creator>Izaak_Beekman</dc:creator>
      <dc:date>2014-04-02T16:39:12Z</dc:date>
    </item>
    <item>
      <title>Thanks Izaak, nopass does the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964032#M95292</link>
      <description>&lt;P&gt;Thanks Izaak, nopass does the job as well.&lt;/P&gt;

&lt;P&gt;Rak&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Izaak Beekman wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Rak,&lt;/P&gt;

&lt;P&gt;You can just use the code you posted in your second example, but change&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      type :: ARRPROCPOINTER 
        procedure(USERFUNC_int), pointer :: pcf
      end type ARRPROCPOINTER&lt;/PRE&gt;

&lt;P&gt;with this:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      type :: ARRPROCPOINTER 
        procedure(USERFUNC_int), pointer, nopass :: pcf
      end type ARRPROCPOINTER&lt;/PRE&gt;

&lt;P&gt;Fortran Fan was answering Jim's question. You do not need the extraneous dummy argument 'this' just add the nopass attribute to the procedure pointer component in your original code from your second post, as I showed above. I highly recommend this route over adding the unused dummy argument.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Apr 2014 14:29:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Static-array-of-procedure-pointers/m-p/964032#M95292</guid>
      <dc:creator>rakkota</dc:creator>
      <dc:date>2014-04-03T14:29:44Z</dc:date>
    </item>
  </channel>
</rss>

