diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2018-11-17 11:01:00 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2018-11-17 11:01:00 +0000 |
commit | d7815fc4509e0caf04c4b43de89b20ac57504307 (patch) | |
tree | 6238646e5b35ec5f3c92eb2b116ecec4b45877b3 /gcc/d | |
parent | 95c0a21042ec73315ccd6f216f07b4361b02b7e9 (diff) | |
download | gcc-d7815fc4509e0caf04c4b43de89b20ac57504307.zip gcc-d7815fc4509e0caf04c4b43de89b20ac57504307.tar.gz gcc-d7815fc4509e0caf04c4b43de89b20ac57504307.tar.bz2 |
Fix wrong alignment returned by .alignof property.
The D language expects the value to be the minimum alignment required
for the type, not the preferred alignment.
gcc/d/ChangeLog:
2018-11-17 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/87824
* d-target.cc (Target::alignsize): Return min_align_of_type.
From-SVN: r266234
Diffstat (limited to 'gcc/d')
-rw-r--r-- | gcc/d/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/d/d-target.cc | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index d534f36..c706d08 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,8 @@ +2018-11-17 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/87824 + * d-target.cc (Target::alignsize): Return min_align_of_type. + 2018-11-05 Iain Buclaw <ibuclaw@gdcproject.org> PR d/87865 diff --git a/gcc/d/d-target.cc b/gcc/d/d-target.cc index 3ae791b..86b0429 100644 --- a/gcc/d/d-target.cc +++ b/gcc/d/d-target.cc @@ -189,7 +189,7 @@ unsigned Target::alignsize (Type *type) { gcc_assert (type->isTypeBasic ()); - return TYPE_ALIGN_UNIT (build_ctype (type)); + return min_align_of_type (build_ctype (type)); } /* Return GCC field alignment size for type TYPE. */ |