<?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 Expression and temporary array in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780322#M27308</link>
    <description>Thanks Steve. I guess then if the array size is large, one may get stack overflow error. Is the /heap-arrays only way to avoid it?&lt;BR /&gt;&lt;BR /&gt;Also, I get a warning when I use assumed-sized arrays, I believe that is 
correct behavior. Is that right?&lt;BR /&gt;&lt;BR /&gt;Abhi</description>
    <pubDate>Tue, 13 Jul 2010 19:09:21 GMT</pubDate>
    <dc:creator>abhimodak</dc:creator>
    <dc:date>2010-07-13T19:09:21Z</dc:date>
    <item>
      <title>Expression and temporary array</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780320#M27306</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;The snippet below passes the expression (A) and the actual array A. Thus, there is no argument aliasing involved. As I understand, (i) the expression references A, (ii) is evaluated completely before invoking the subroutine, and (iii) changes to A won't affect the expression. &lt;BR /&gt;&lt;BR /&gt;Although I am using assumed-shape array in subroutine Method, I am wondering where is the expression stored? i.e. is there something going on stack? I don't see the array temporary being created message when I use /check:arg_temp_created flag.&lt;BR /&gt;&lt;BR /&gt;Abhi&lt;BR /&gt;&lt;BR /&gt;----&lt;BR /&gt;&lt;BR /&gt;Module OM&lt;BR /&gt; Implicit None&lt;BR /&gt; Contains&lt;BR /&gt; Subroutine Method(n, A, m, B)&lt;BR /&gt; Integer, Intent(IN) :: n&lt;BR /&gt; Real, Intent(IN) :: A(:)&lt;BR /&gt; Integer, Intent(OUT) :: m&lt;BR /&gt; Real, Intent(OUT) :: B(:)&lt;BR /&gt; !Real :: A(:), B(:)&lt;BR /&gt;&lt;BR /&gt; m = 2*n&lt;BR /&gt; B = 3*A&lt;BR /&gt; End Subroutine Method &lt;BR /&gt; End Module OM&lt;BR /&gt; &lt;BR /&gt; Program Test_ExpressionArgument&lt;BR /&gt; Use OM&lt;BR /&gt; Implicit None&lt;BR /&gt; Integer :: n = 2, m&lt;BR /&gt; Real :: A(5) = -1.0&lt;BR /&gt; Real :: c&lt;BR /&gt; &lt;BR /&gt; Call Method(n, (A), m, A)&lt;BR /&gt; Print *, A&lt;BR /&gt; End Program Test_ExpressionArgument</description>
      <pubDate>Tue, 13 Jul 2010 17:21:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780320#M27306</guid>
      <dc:creator>abhimodak</dc:creator>
      <dc:date>2010-07-13T17:21:44Z</dc:date>
    </item>
    <item>
      <title>Expression and temporary array</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780321#M27307</link>
      <description>It is creating a stack temp. You don't get the warning when you have explicitly asked for an expression.</description>
      <pubDate>Tue, 13 Jul 2010 19:06:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780321#M27307</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-07-13T19:06:12Z</dc:date>
    </item>
    <item>
      <title>Expression and temporary array</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780322#M27308</link>
      <description>Thanks Steve. I guess then if the array size is large, one may get stack overflow error. Is the /heap-arrays only way to avoid it?&lt;BR /&gt;&lt;BR /&gt;Also, I get a warning when I use assumed-sized arrays, I believe that is 
correct behavior. Is that right?&lt;BR /&gt;&lt;BR /&gt;Abhi</description>
      <pubDate>Tue, 13 Jul 2010 19:09:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780322#M27308</guid>
      <dc:creator>abhimodak</dc:creator>
      <dc:date>2010-07-13T19:09:21Z</dc:date>
    </item>
    <item>
      <title>Expression and temporary array</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780323#M27309</link>
      <description>Yes. If you are forcing a copy to be made, it has to go somewhere.&lt;BR /&gt;&lt;BR /&gt;What warning for assumed-size arrays?</description>
      <pubDate>Tue, 13 Jul 2010 19:10:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Expression-and-temporary-array/m-p/780323#M27309</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-07-13T19:10:54Z</dc:date>
    </item>
  </channel>
</rss>

