--- Comment #8 from kkojima at gcc dot gnu dot org 2006-07-15 23:13 ---
Fixed.
--
kkojima at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRM
--- Comment #7 from kkojima at gcc dot gnu dot org 2006-07-15 06:59 ---
Subject: Bug 28161
Author: kkojima
Date: Sat Jul 15 06:58:57 2006
New Revision: 115464
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115464
Log:
PR middle-end/28160
* stor-layout.c (place_fi
--- Comment #6 from patchapp at dberlin dot org 2006-06-29 21:45 ---
Subject: Bug number PR middle-end/28161
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-06/msg01473.html
--
http://gcc.gnu.org
--- Comment #5 from kkojima at gcc dot gnu dot org 2006-06-27 00:28 ---
Although I'm also not familiar with these materials, when
place_field is called for a.d, gdb says that
(gdb) call debug_tree (field)
unit size
align 64 symtab 0 alias set -1 precision 64 min max
--- Comment #4 from seongbae dot park at gmail dot com 2006-06-26 23:41
---
You're correct -I've overlooked the type mismatch.
One question though is the local variable "type" of place_field() is
TREE_TYPE (field), not DECL_BIT_FIELD_TYPE (field).
I'm not familiar with gcc type system
--- Comment #3 from kkojima at gcc dot gnu dot org 2006-06-26 23:10 ---
GDB says that TREE_TYPE of a.d is the 32-bit integer and its
DECL_BIT_FIELD_TYPE is 64-bit when place_field processes a.e.
place_field uses the size of TREE_TYPE of the previous bit filed
when deciding whether a bit
--- Comment #2 from seongbae dot park at gmail dot com 2006-06-26 21:10
---
More specifically:
1048 if (rli->remaining_in_alignment < bitsize)
1049 {
1050 /* out of bits; bump up to next 'word'. */
1051 rli-
--- Comment #1 from seongbae dot park at gmail dot com 2006-06-26 20:47
---
I belive this is a bug in stor-layout.c:place_field() around line 10503
bitpos is calculated as bit_offset of rli->prev_field + type size.
However, the prev_field is not really the immediately previous field but