<?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 calling-called array size mismatch  in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/calling-called-array-size-mismatch/m-p/929009#M80579</link>
    <description>&lt;P&gt;OS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : x86_64 GNU/Linux (CentOS 6.4)&lt;/P&gt;
&lt;P&gt;Compiler&amp;nbsp;&amp;nbsp; : Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.1.163 Build 20130313&lt;/P&gt;
&lt;P&gt;Debugger&amp;nbsp; : Version 13.0&lt;/P&gt;
&lt;P&gt;FFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : -debug -cpp -zero -convert big_endian&amp;nbsp; -traceback -fpe0 -g -debug extended&amp;nbsp; -assume byterecl -i4 -132 -fp-stack-check&amp;nbsp; -complex-limited-range&amp;nbsp; -check bounds,pointers,uninit -ftrapuv&lt;/P&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have numerous cases when a routine is called with an array with explicit declaration of the array size, but the called routine reports different size. Here is an example:&lt;/P&gt;
&lt;P&gt;subroutine get_c4(c4,num_px,sol) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(tet_t),intent(in) :: c4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer,intent(in)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :: num_px&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; double complex,intent(in)&amp;nbsp;&amp;nbsp;&amp;nbsp; :: e_sol(num_px)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;
&lt;P&gt;get_c4 is called with num_px=8585 and with a double coplex x(1:8585), but get_c4 reports 340:&lt;/P&gt;
&lt;P&gt;(*** from inside get_c4 ***)&lt;/P&gt;
&lt;P&gt;(idb) p num_px&lt;BR /&gt;$49 = 8585&lt;/P&gt;
&lt;P&gt;(idb) whatis e_sol&lt;BR /&gt;type = COMPLEX(16) (340)&lt;/P&gt;
&lt;P&gt;Is it a bug? Do I miss something?&lt;/P&gt;
&lt;P&gt;Thanks in advance, &lt;BR /&gt; --Ted&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 21 Jun 2013 14:46:23 GMT</pubDate>
    <dc:creator>Ted__S_</dc:creator>
    <dc:date>2013-06-21T14:46:23Z</dc:date>
    <item>
      <title>calling-called array size mismatch</title>
      <link>https://community.intel.com/t5/Software-Archive/calling-called-array-size-mismatch/m-p/929009#M80579</link>
      <description>&lt;P&gt;OS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : x86_64 GNU/Linux (CentOS 6.4)&lt;/P&gt;
&lt;P&gt;Compiler&amp;nbsp;&amp;nbsp; : Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.1.163 Build 20130313&lt;/P&gt;
&lt;P&gt;Debugger&amp;nbsp; : Version 13.0&lt;/P&gt;
&lt;P&gt;FFLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : -debug -cpp -zero -convert big_endian&amp;nbsp; -traceback -fpe0 -g -debug extended&amp;nbsp; -assume byterecl -i4 -132 -fp-stack-check&amp;nbsp; -complex-limited-range&amp;nbsp; -check bounds,pointers,uninit -ftrapuv&lt;/P&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have numerous cases when a routine is called with an array with explicit declaration of the array size, but the called routine reports different size. Here is an example:&lt;/P&gt;
&lt;P&gt;subroutine get_c4(c4,num_px,sol) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(tet_t),intent(in) :: c4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer,intent(in)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :: num_px&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; double complex,intent(in)&amp;nbsp;&amp;nbsp;&amp;nbsp; :: e_sol(num_px)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;
&lt;P&gt;get_c4 is called with num_px=8585 and with a double coplex x(1:8585), but get_c4 reports 340:&lt;/P&gt;
&lt;P&gt;(*** from inside get_c4 ***)&lt;/P&gt;
&lt;P&gt;(idb) p num_px&lt;BR /&gt;$49 = 8585&lt;/P&gt;
&lt;P&gt;(idb) whatis e_sol&lt;BR /&gt;type = COMPLEX(16) (340)&lt;/P&gt;
&lt;P&gt;Is it a bug? Do I miss something?&lt;/P&gt;
&lt;P&gt;Thanks in advance, &lt;BR /&gt; --Ted&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jun 2013 14:46:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/calling-called-array-size-mismatch/m-p/929009#M80579</guid>
      <dc:creator>Ted__S_</dc:creator>
      <dc:date>2013-06-21T14:46:23Z</dc:date>
    </item>
    <item>
      <title>Hello Ted,</title>
      <link>https://community.intel.com/t5/Software-Archive/calling-called-array-size-mismatch/m-p/929010#M80580</link>
      <description>Hello Ted,

that sounds like you compiled with optimizations turned on. In such cases you have to expect that the compiler did some transformations the debugger cannot always unwind.
Could you please try to compile with -O0 (-O2 is the default) and verify whether you still see this problem?

Thank you &amp;amp; best regards,

Georg Zitzlsberger</description>
      <pubDate>Fri, 21 Jun 2013 15:25:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/calling-called-array-size-mismatch/m-p/929010#M80580</guid>
      <dc:creator>Georg_Z_Intel</dc:creator>
      <dc:date>2013-06-21T15:25:42Z</dc:date>
    </item>
  </channel>
</rss>

