[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-07-15 Thread kkojima at gcc dot gnu dot org
--- 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-07-14 Thread kkojima at gcc dot gnu dot org
--- 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-29 Thread patchapp at dberlin dot org
--- 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-26 Thread kkojima at gcc dot gnu dot 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-26 Thread seongbae dot park at gmail dot com
--- 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-26 Thread kkojima at gcc dot gnu dot org
--- 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

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-26 Thread seongbae dot park at gmail dot com
--- 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-

[Bug middle-end/28161] Wrong bit field layout with -mms-bitfields

2006-06-26 Thread seongbae dot park at gmail dot com
--- 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