Re: Warning: The structure contains misaligned fields
- From: glen herrmannsfeldt <gah@xxxxxxxxxxxxxxxx>
- Date: Mon, 28 Apr 2008 11:06:45 -0800
jamesgiles@xxxxxxx wrote:
On Apr 28, 11:35 am, Craig Powers <eni...@xxxxxxxxxx> wrote:
The significance of SEQUENCE is that identically-declared types will be
treated as identical (i.e. if you were to repeat your declaration of
type(ccc) in a subroutine, it would be identical to the type(ccc)
declared in the module and one could be used as an actual argument
corresponding to the other as a dummy argument). The name implies that
the memory layout will be exactly as declared, but the standard does not
actually impose such a requirement.
It doesn't usually say anything about memory layout as such. However,
since SEQUENCE derived types may be used in COMMON and the components
be storage associated through that COMMON with non-derived-type
variables, it's hard to imagine how it would be implemented without
actually being in the order declared.
I thought that padding was allowed, though. COMMON in Fortran 66
was usually believed not to allow padding, creating alignment
problems fairly often. C struct definitely allows padding, which
is good because many current processors don't allow misaligned
access. (IA32 does, but it is often much slower.)
Doesn't COMMON now allow for padding?
If SEQUENCE types work with C interoperability they better
use the same padding that is used by the appropriate C compiler.
-- glen
.
- Follow-Ups:
- Re: Warning: The structure contains misaligned fields
- From: Steve Lionel
- Re: Warning: The structure contains misaligned fields
- References:
- Warning: The structure contains misaligned fields
- From: blitheli
- Re: Warning: The structure contains misaligned fields
- From: Gordon Sande
- Re: Warning: The structure contains misaligned fields
- From: blitheli
- Re: Warning: The structure contains misaligned fields
- From: Craig Powers
- Re: Warning: The structure contains misaligned fields
- From: jamesgiles@xxxxxxx
- Warning: The structure contains misaligned fields
- Prev by Date: Re: Warning: The structure contains misaligned fields
- Next by Date: Re: Warning: The structure contains misaligned fields
- Previous by thread: Re: Warning: The structure contains misaligned fields
- Next by thread: Re: Warning: The structure contains misaligned fields
- Index(es):
Relevant Pages
|
|