[Bug c++/10781] wrong class size and alignment with static class member
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Jan 11 19:07:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-11 19:07 -------
The problem still happens on powerpc-darwin on powerpc64-linux.
The problem is that ROUND_TYPE_ALIGN does not take in effect that the fields can be
static:
#undef ROUND_TYPE_ALIGN
#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \
((TARGET_ALTIVEC && TREE_CODE (STRUCT) == VECTOR_TYPE) \
? MAX (MAX ((COMPUTED), (SPECIFIED)), 128) \
: (TARGET_64BIT \
&& (TREE_CODE (STRUCT) == RECORD_TYPE \
|| TREE_CODE (STRUCT) == UNION_TYPE \
|| TREE_CODE (STRUCT) == QUAL_UNION_TYPE) \
&& TYPE_FIELDS (STRUCT) != 0 \
&& TARGET_ALIGN_NATURAL == 0 \
&& DECL_MODE (TYPE_FIELDS (STRUCT)) == DFmode) \
? MAX (MAX ((COMPUTED), (SPECIFIED)), 64) \
: MAX ((COMPUTED), (SPECIFIED)))
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Status|WAITING |NEW
Last reconfirmed|2003-08-16 03:18:21 |2004-01-11 19:07:40
date| |
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10781
More information about the Gcc-bugs
mailing list