* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
@ 2005-07-26 13:21 ` pinskia at gcc dot gnu dot org
2005-07-26 14:27 ` dje at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-26 13:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26 13:21 -------
I still don't believe this is a bug.
As the alignment of whole struct is still 8 as double is first, even if the alignment of that double is 4.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
GCC host triplet|powerpc-darwin-* |
GCC target triplet| |powerpc-darwin, powerpc-aix
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
2005-07-26 13:21 ` [Bug target/23071] " pinskia at gcc dot gnu dot org
@ 2005-07-26 14:27 ` dje at gcc dot gnu dot org
2005-07-26 16:28 ` sabre at nondot dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2005-07-26 14:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dje at gcc dot gnu dot org 2005-07-26 14:08 -------
The ABI specifies the alignment of the entire record is doubleword if the
first field is an FP double, regardless of the alignment of the type itself.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |WONTFIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
2005-07-26 13:21 ` [Bug target/23071] " pinskia at gcc dot gnu dot org
2005-07-26 14:27 ` dje at gcc dot gnu dot org
@ 2005-07-26 16:28 ` sabre at nondot dot org
2005-07-26 16:58 ` ian at airs dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: sabre at nondot dot org @ 2005-07-26 16:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From sabre at nondot dot org 2005-07-26 16:25 -------
Okay, in that case, how does one change the alignment of the structure? The only way I'm aware of to
do this is with attribute packed, but that will also modify the inter-field padding of the structure. For
example, in this case:
struct Test {
double D __attribute__((packed,aligned(4)));
short X;
int Y;
short Z;
} __attribute__((packed,aligned(4)));
Not only is the alignment of the structure reduced to 4 bytes, the structure is also packed, resulting in
the 'int' being unaligned and the size of the structure being 16 bytes (instead of 20).
"it sure would be nice if you could use 'attribute aligned' to reduce alignment without attribute packed"
-Chris
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
` (2 preceding siblings ...)
2005-07-26 16:28 ` sabre at nondot dot org
@ 2005-07-26 16:58 ` ian at airs dot com
2005-07-26 17:02 ` dje at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: ian at airs dot com @ 2005-07-26 16:58 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From ian at airs dot com 2005-07-26 16:55 -------
The whole point of attribute ((packed)) is to change the ABI. If it can't
change the ABI, it is meaningless. So I don't find the argument based on the
ABI to be particularly convincing.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
` (3 preceding siblings ...)
2005-07-26 16:58 ` ian at airs dot com
@ 2005-07-26 17:02 ` dje at gcc dot gnu dot org
2005-07-26 17:02 ` dje at watson dot ibm dot com
2005-07-26 17:03 ` dje at gcc dot gnu dot org
6 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2005-07-26 17:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dje at gcc dot gnu dot org 2005-07-26 17:02 -------
reopen
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|WONTFIX |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
` (4 preceding siblings ...)
2005-07-26 17:02 ` dje at gcc dot gnu dot org
@ 2005-07-26 17:02 ` dje at watson dot ibm dot com
2005-07-26 17:03 ` dje at gcc dot gnu dot org
6 siblings, 0 replies; 11+ messages in thread
From: dje at watson dot ibm dot com @ 2005-07-26 17:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dje at watson dot ibm dot com 2005-07-26 16:58 -------
Subject: Re: Darwin alignment ignores "attribute packed" for first 'double' element of a struct
If Chris and Apple want to change the behavior for Darwin, be my
guest.
David
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/23071] Darwin alignment ignores "attribute packed" for first 'double' element of a struct
2005-07-26 7:07 [Bug target/23071] New: " sabre at nondot dot org
` (5 preceding siblings ...)
2005-07-26 17:02 ` dje at watson dot ibm dot com
@ 2005-07-26 17:03 ` dje at gcc dot gnu dot org
6 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2005-07-26 17:03 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|dje at watson dot ibm dot |unassigned at gcc dot gnu
|com |dot org
Status|UNCONFIRMED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23071
^ permalink raw reply [flat|nested] 11+ messages in thread