<?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 Ok - as I said I didn't have in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984836#M100528</link>
    <description>&lt;P&gt;Ok - as I said I didn't have the standard handy at the time. I also don't care for SEQUENCE as all the standard says is that it prevents reordering of the components. Making sure the components are naturally aligned to begin with is best.&lt;/P&gt;</description>
    <pubDate>Sat, 15 Feb 2014 03:35:48 GMT</pubDate>
    <dc:creator>Steven_L_Intel1</dc:creator>
    <dc:date>2014-02-15T03:35:48Z</dc:date>
    <item>
      <title>Storage size of derived-type larger than the sum of storage sizes of individual components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984831#M100523</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I've just notice a strange behavior of the fortran 2008 "storage_size" procedure when applied to simple derived-type variables.&lt;/P&gt;

&lt;P&gt;If a derived-type is defined with only scalar variables, then the storage size of this derived-type is larger than the sum of the storage sizes of each individual components.&lt;/P&gt;

&lt;P&gt;The above program,&lt;/P&gt;

&lt;P&gt;[fortran]Program Main&lt;BR /&gt;
	&amp;nbsp; implicit none&lt;BR /&gt;
	&amp;nbsp; type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My_Type&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; logical&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; integer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; real(4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; real(8)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d0&lt;BR /&gt;
	&amp;nbsp; end type&lt;BR /&gt;
	&amp;nbsp; type(My_Type) ::&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Var&lt;BR /&gt;
	&amp;nbsp; write(*,"('Starting')")&lt;BR /&gt;
	&amp;nbsp; write(*,"('Storage_Size(Var%l0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = ',g0)") Storage_Size(Var%l0)&lt;BR /&gt;
	&amp;nbsp; write(*,"('Storage_Size(Var%i0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = ',g0)") Storage_Size(Var%i0)&lt;BR /&gt;
	&amp;nbsp; write(*,"('Storage_Size(Var%s0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = ',g0)") Storage_Size(Var%s0)&lt;BR /&gt;
	&amp;nbsp; write(*,"('Storage_Size(Var%d0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = ',g0)") Storage_Size(Var%d0)&lt;BR /&gt;
	&amp;nbsp; write(*,"('SUM Storage_Size(Var%*) = ',g0)") Storage_Size(Var%l0) + Storage_Size(Var%i0) +Storage_Size(Var%s0) + Storage_Size(Var%d0)&lt;BR /&gt;
	&amp;nbsp; write(*,"('Storage_Size(Var)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ',g0)") Storage_Size(Var)&lt;BR /&gt;
	&amp;nbsp; write(*,"('Ending')")&lt;BR /&gt;
	End Program[/fortran]&lt;/P&gt;

&lt;P&gt;gives the following result:&lt;/P&gt;

&lt;P&gt;[bash]$ ifort main.f90; ./a.out&lt;BR /&gt;
	Starting&lt;BR /&gt;
	Storage_Size(Var%l0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = 32&lt;BR /&gt;
	Storage_Size(Var%i0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = 32&lt;BR /&gt;
	Storage_Size(Var%s0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = 32&lt;BR /&gt;
	Storage_Size(Var%d0)&amp;nbsp;&amp;nbsp;&amp;nbsp; = 64&lt;BR /&gt;
	SUM Storage_Size(Var%*) = 160&lt;BR /&gt;
	Storage_Size(Var)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 192&lt;BR /&gt;
	Ending[/bash]&lt;/P&gt;

&lt;P&gt;Why such a behavior ? Is there some hidden data stored somewhere in the derived-type ?&lt;/P&gt;</description>
      <pubDate>Fri, 14 Feb 2014 09:16:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984831#M100523</guid>
      <dc:creator>FlyingHermes</dc:creator>
      <dc:date>2014-02-14T09:16:29Z</dc:date>
    </item>
    <item>
      <title>d0 is misaligned, so we added</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984832#M100524</link>
      <description>&lt;P&gt;d0 is misaligned, so we added 4 bytes of padding before it. This happens even if you make it a BIND(C) type, though I have to check if C does the same thing (in which case that would be correct.) You could add SEQUENCE to the declaration and that would remove the padding, or use -align norecords&lt;/P&gt;</description>
      <pubDate>Fri, 14 Feb 2014 17:49:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984832#M100524</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-02-14T17:49:39Z</dc:date>
    </item>
    <item>
      <title>Ok, thanks.</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984833#M100525</link>
      <description>&lt;P&gt;Ok, thanks.&lt;/P&gt;

&lt;P&gt;3 questions:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Is the SEQUENCE attribute depreciated ?&lt;/LI&gt;
	&lt;LI&gt;Is it allowed to define TBP in a derived-type which has the SEQUENCE attribute ?&lt;/LI&gt;
	&lt;LI&gt;Will there be any impact on performance by using the SEQUENCE attribute ?&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Feb 2014 18:32:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984833#M100525</guid>
      <dc:creator>FlyingHermes</dc:creator>
      <dc:date>2014-02-14T18:32:32Z</dc:date>
    </item>
    <item>
      <title>SEQUENCE is not deprecated. I</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984834#M100526</link>
      <description>&lt;P&gt;SEQUENCE is not deprecated. I don't have my references handy but I don't see why SEQUENCE would interfere with TBPs. Yes, there is a performance impact to misaligned values, which is why we pad.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Feb 2014 21:42:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984834#M100526</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-02-14T21:42:42Z</dc:date>
    </item>
    <item>
      <title>Quote:Steve Lionel (Intel)</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984835#M100527</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;SEQUENCE is not deprecated. I don't have my references handy but I don't see why SEQUENCE would interfere with TBPs. Yes, there is a performance impact to misaligned values, which is why we pad.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Based on my reading of Fortran 2003 and 2008 standards (as quoted below), types with SEQUENCE attribute&lt;/P&gt;

&lt;P&gt;* cannot have type-bound procedures&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;19 C436 (R425) If SEQUENCE appears, each data component shall be declared to be of an intrinsic type or of a&lt;/P&gt;

&lt;P&gt;20 sequence type, and a type-bound-procedure-part shall not appear.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;* are not extensible&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;24 C431 (R425) If EXTENDS appears, SEQUENCE shall not appear.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;* cannot have the BIND(C) attribute&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;7 C1501 (R425) A derived type with the BIND attribute shall not have the SEQUENCE attribute.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hence I find SEQUENCE highly limiting and have generally stopped using it.&lt;/P&gt;</description>
      <pubDate>Sat, 15 Feb 2014 03:00:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984835#M100527</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2014-02-15T03:00:00Z</dc:date>
    </item>
    <item>
      <title>Ok - as I said I didn't have</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984836#M100528</link>
      <description>&lt;P&gt;Ok - as I said I didn't have the standard handy at the time. I also don't care for SEQUENCE as all the standard says is that it prevents reordering of the components. Making sure the components are naturally aligned to begin with is best.&lt;/P&gt;</description>
      <pubDate>Sat, 15 Feb 2014 03:35:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984836#M100528</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-02-15T03:35:48Z</dc:date>
    </item>
    <item>
      <title>Steve,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984837#M100529</link>
      <description>&lt;P&gt;Steve,&lt;/P&gt;

&lt;P&gt;A suggestion: the documentation for SEQUENCE in the Intel Fortran Compiler Help is quite barren.&amp;nbsp; Will it be possible for your writers to include all the caveats listed in the 2003 and 2008 standards?&amp;nbsp; It will help many of the users who haven't made a habit of referencing the standards documentation (which can be very dense).&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P id="header_text"&gt;User and Reference Guide for the Intel® Fortran Compiler 14.0&lt;/P&gt;

&lt;H1&gt;SEQUENCE&lt;/H1&gt;

&lt;DIV&gt;
	&lt;P&gt;Statement: Preserves the storage order of a derived-type definition.&lt;/P&gt;

	&lt;DIV id="GUID-BF15C283-196E-4357-A96C-16901D1B1636"&gt;
		&lt;P&gt;SEQUENCE&lt;/P&gt;
	&lt;/DIV&gt;

	&lt;DIV id="GUID-8CAEBAF6-16DD-4720-8BBC-54E88AEC0C9C"&gt;
		&lt;H2&gt;Description&lt;/H2&gt;

		&lt;P&gt;The SEQUENCE statement allows derived types to be used in common blocks and to be equivalenced.&lt;/P&gt;

		&lt;P&gt;The SEQUENCE statement appears only as part of derived-type definitions. It causes the components of the derived type to be stored in the same sequence they are listed in the type definition. If you do not specify SEQUENCE, the physical storage order is not necessarily the same as the order of components in the type definition.&lt;/P&gt;

		&lt;P&gt;If a derived type is a sequence derived type, then any other derived type that includes it must also be a sequence type.&lt;/P&gt;
	&lt;/DIV&gt;

	&lt;DIV id="GUID-B34FD390-7154-4AB7-83DF-9661F6338954"&gt;
		&lt;H2&gt;Example&lt;/H2&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 !DIR$ PACK:1&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 TYPE NUM1_SEQ&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
   SEQUENCE&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
   INTEGER(2)::int_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
   REAL(4)::real_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
   LOGICAL(2)::log_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 END TYPE NUM1_SEQ&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 TYPE num2_seq&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
    SEQUENCE&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
    logical(2)::log_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
    integer(2)::int_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
    real(4)::real_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 end type num2_seq&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 type (num1_seq) num1&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 type (num2_seq) num2&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 character*8 t, t1&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 equivalence (num1,t)&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 equivalence (num2,t1)&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 num1%int_val=2&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 num1%real_val=3.5&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 num1%log_val=.TRUE.&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 t1(1:2)=t(7:8)&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 t1(3:4)=t(1:2)&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 t1(5:8)=t(3:6)&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 print *, num2%int_val, num2%real_val, num2%log_val&lt;/PRE&gt;

		&lt;PRE xmlns="http://www.w3.org/1999/xhtml"&gt;
 end&lt;/PRE&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;DIV&gt;
	&lt;DIV&gt;Parent topic: &lt;A href="ms-xhelp:///?method=page&amp;amp;id=main_for-4f5e7ba6-0000a3&amp;amp;vendor=Intel&amp;amp;topicVersion=-1&amp;amp;topicLocale=EN-US"&gt;&lt;U&gt;S&lt;/U&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;DIV&gt;
	&lt;H2&gt;See Also&lt;/H2&gt;

	&lt;DIV&gt;
		&lt;DIV&gt;&lt;A href="ms-xhelp:///?method=page&amp;amp;id=main_for-4f5e7ba6-0006a6#guid-b0a333ca-6db7-4a1f-bb9e-e4d1e1d31e98&amp;amp;vendor=Intel&amp;amp;topicVersion=-1&amp;amp;topicLocale=EN-US"&gt;&lt;U&gt;Derived Data Types&lt;/U&gt;&lt;/A&gt;&lt;/DIV&gt;

		&lt;DIV&gt;&lt;A href="ms-xhelp:///?method=page&amp;amp;id=main_for-4f5e7ba6-00023d#guid-3e768188-5c0f-4a92-9d8d-cb54a2434a94&amp;amp;vendor=Intel&amp;amp;topicVersion=-1&amp;amp;topicLocale=EN-US"&gt;&lt;U&gt;Data Types, Constants, and Variables&lt;/U&gt;&lt;/A&gt;&lt;/DIV&gt;
	&lt;/DIV&gt;
	&amp;nbsp;

	&lt;DIV&gt;
		&lt;DIV&gt;&lt;A href="http://www.intel.com/software/products/softwaredocs_feedback" target="_blank"&gt;&lt;U&gt;Submit feedback on this help topic&lt;/U&gt;&lt;/A&gt;&lt;/DIV&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Feb 2014 03:52:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984837#M100529</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2014-02-15T03:52:32Z</dc:date>
    </item>
    <item>
      <title>The current thinking is that</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984838#M100530</link>
      <description>&lt;P&gt;The current thinking is that SEQUENCE should not be used - it doesn't do what most people want, which is to guarantee a particular layout of a derived type. BIND(C) does that better, though you're still subject to the choices made by the "companion C processor".&lt;/P&gt;

&lt;P&gt;The age-old advice still stands - arrange your components so that all are naturally aligned, so you won't have to worry about padding.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2014 20:25:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984838#M100530</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-02-19T20:25:55Z</dc:date>
    </item>
    <item>
      <title>Even if all components are</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984839#M100531</link>
      <description>&lt;P&gt;Even if all components are naturally aligned you can get padding. Try it with the current example and appropriate arrangement, and various combinations of platform and BIND(C). The reason is the under at least some environments an array of a derived type should have all conponents of all elements aligned so you can't have a 20-byte derived type when one of its components requires 8-byte alignment.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2014 15:40:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984839#M100531</guid>
      <dc:creator>JVanB</dc:creator>
      <dc:date>2014-02-20T15:40:41Z</dc:date>
    </item>
    <item>
      <title>RO is correct, but the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984840#M100532</link>
      <description>&lt;P&gt;RO is correct, but the important point is that BIND(C) specifies that the layout and storage size must match what the "companion C processor" does for the equivalent struct. If the C compiler pads, then Fortran will too. Intel Fortran has directives and compile options to specify or disable padding, as do most C compilers.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2014 17:01:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Storage-size-of-derived-type-larger-than-the-sum-of-storage/m-p/984840#M100532</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-02-20T17:01:21Z</dc:date>
    </item>
  </channel>
</rss>

