* [Bug tree-optimization/21839] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
@ 2005-05-31 13:49 ` pinskia at gcc dot gnu dot org
2005-05-31 14:19 ` mclinden at informed dot net
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-31 13:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-31 13:44 -------
Please give the needed information that is documented on <http://gcc.gnu.org/bugs.html>?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Component|c |tree-optimization
Keywords| |ice-on-valid-code
Version|tree-ssa |unknown
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
2005-05-31 13:49 ` [Bug tree-optimization/21839] " pinskia at gcc dot gnu dot org
@ 2005-05-31 14:19 ` mclinden at informed dot net
2005-05-31 14:28 ` mclinden at informed dot net
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: mclinden at informed dot net @ 2005-05-31 14:19 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mclinden at informed dot net 2005-05-31 14:19 -------
Created an attachment (id=9001)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9001&action=view)
preprocessed ialloc.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
2005-05-31 13:49 ` [Bug tree-optimization/21839] " pinskia at gcc dot gnu dot org
2005-05-31 14:19 ` mclinden at informed dot net
@ 2005-05-31 14:28 ` mclinden at informed dot net
2005-05-31 14:40 ` [Bug tree-optimization/21839] [4.1 Regression] " pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: mclinden at informed dot net @ 2005-05-31 14:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mclinden at informed dot net 2005-05-31 14:19 -------
Output of gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1-20050528/configure --prefix=/usr --with-mpfr=/usr --
with-mpfr-dir=/usr/src/otai/mpfr-2.1.1 --with-gmp=/usr --with-gmp-
dir=/usr/src/otai/gmp-4.1.4 --enable-shared --enable-__cxa_atexit --enable-
clocale --enable-multilib=no --enable-threads=posix --libexecdir=/usr/lib --
enable-languages=c,c++
Thread model: posix
gcc version 4.1.0 20050528 (experimental)
/usr/lib/gcc/i686-pc-linux-gnu/4.1.0/cc1 -E -quiet -v -I/usr/src/linux-
2.6.11.11/include fs/ext3/ialloc.c -mtune=pentiumpro -Wstrict-prototypes -
fWall -fomit-frame-pointers -O2 -fpch-preprocess -o ialloc.i
cc1: error: unrecognized command line option "-fWall"
cc1: error: unrecognized command line option "-fomit-frame-pointers"
ignoring nonexistent directory "/usr/lib/gcc/i686-pc-linux-
gnu/4.1.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/src/linux-2.6.11.11/include
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/4.1.0/include
/usr/include
End of search list.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (2 preceding siblings ...)
2005-05-31 14:28 ` mclinden at informed dot net
@ 2005-05-31 14:40 ` pinskia at gcc dot gnu dot org
2005-05-31 14:47 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-31 14:40 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-31 14:35 -------
Confirmed, reducing.
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|fs/ext3/ialloc.c error: |[4.1 Regression]
|Statement makes a memory |fs/ext3/ialloc.c error:
|store,... |Statement makes a memory
| |store,...
Target Milestone|--- |4.1.0
Version|unknown |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (3 preceding siblings ...)
2005-05-31 14:40 ` [Bug tree-optimization/21839] [4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-05-31 14:47 ` pinskia at gcc dot gnu dot org
2005-05-31 15:01 ` giovannibajo at libero dot it
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-31 14:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-31 14:45 -------
Confirmed, reduced testcase:
typedef struct { } spinlock_t;
typedef struct {
unsigned sequence;
spinlock_t lock;
} seqlock_t;
void ext3_new_inode(seqlock_t *rsv_seqlock)
{
*rsv_seqlock = (seqlock_t) { 0, (spinlock_t) { } };
}
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dnovillo at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-05-31 14:45:15
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] fs/ext3/ialloc.c error: Statement makes a memory store,...
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (4 preceding siblings ...)
2005-05-31 14:47 ` pinskia at gcc dot gnu dot org
@ 2005-05-31 15:01 ` giovannibajo at libero dot it
2005-05-31 15:05 ` [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures giovannibajo at libero dot it
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: giovannibajo at libero dot it @ 2005-05-31 15:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2005-05-31 14:59 -------
Sigh, the infamous empty structure extension...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (5 preceding siblings ...)
2005-05-31 15:01 ` giovannibajo at libero dot it
@ 2005-05-31 15:05 ` giovannibajo at libero dot it
2005-05-31 16:40 ` dberlin at gcc dot gnu dot org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: giovannibajo at libero dot it @ 2005-05-31 15:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2005-05-31 15:01 -------
Compiles with -O2 -fno-tree-salias. Danny, salias is probably confused by empty
structures.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dberlin at gcc dot gnu dot
| |org
Summary|[4.1 Regression] |[4.1 Regression] ICE for
|fs/ext3/ialloc.c error: |missing V_DEFS caused by
|Statement makes a memory |salias with empty structures
|store,... |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (6 preceding siblings ...)
2005-05-31 15:05 ` [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures giovannibajo at libero dot it
@ 2005-05-31 16:40 ` dberlin at gcc dot gnu dot org
2005-05-31 17:27 ` nathan at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: dberlin at gcc dot gnu dot org @ 2005-05-31 16:40 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dberlin at gcc dot gnu dot org 2005-05-31 16:37 -------
This is indeed an salias problem.
This was code i had warned Nathan about changing, for fear that something like
this might be exposed.
Nathan,
if (!var_can_have_subvars (field))
push = true;
else if (!(push_fields_onto_fieldstack
(TREE_TYPE (field), fieldstack,
offset + bitpos_of_field (field)))
&& DECL_SIZE (field)
&& !integer_zerop (DECL_SIZE (field)))
/* Empty structures may have actual size, like in C++. So
see if we didn't push any subfields and the size is
nonzero, push the field onto the stack */
push = true;
fails because DECL_SIZE (field) is 0.
(gdb) p debug_tree (field)
<field_decl 0x401bd2f4 lock
type <record_type 0x401bd144 spinlock_t type_0 BLK
size <integer_cst 0x40140990 constant invariant 0>
unit size <integer_cst 0x401401b0 constant invariant 0>
align 8 symtab 0 alias set -1 context <translation_unit_decl 0x401bd804
D.1247>>
BLK file /home/dberlin/saliastest.c line 4 size <integer_cst 0x40140990 0>
unit size <integer_cst 0x401401b0 0>
align 8 offset_align 128 offset <integer_cst 0x401401b0 0>
bit offset <integer_cst 0x40140408 type <integer_type 0x40148288
bit_size_type> constant invariant 32> context <record_type 0x401bd1b0> arguments
<integer_cst 0x401401b0 0>>
But we still need to push it onto the fieldlist anyway, because we have an
access to that member.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |nathan at codesourcery dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (7 preceding siblings ...)
2005-05-31 16:40 ` dberlin at gcc dot gnu dot org
@ 2005-05-31 17:27 ` nathan at gcc dot gnu dot org
2005-05-31 17:38 ` dberlin at dberlin dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-05-31 17:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From nathan at gcc dot gnu dot org 2005-05-31 17:25 -------
Are you sure my changes changed this behaviour? IIRC my changes removed the
funky behaviour of ignoring the first field's offset. (well, that was the intent
anyway) I don't believe I changed the DECL_SIZE check bit.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (8 preceding siblings ...)
2005-05-31 17:27 ` nathan at gcc dot gnu dot org
@ 2005-05-31 17:38 ` dberlin at dberlin dot org
2005-06-02 2:08 ` cvs-commit at gcc dot gnu dot org
2005-06-02 18:43 ` pinskia at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: dberlin at dberlin dot org @ 2005-05-31 17:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dberlin at gcc dot gnu dot org 2005-05-31 17:32 -------
Subject: Re: [4.1 Regression] ICE for missing
V_DEFS caused by salias with empty structures
On Tue, 2005-05-31 at 17:25 +0000, nathan at gcc dot gnu dot org wrote:
> ------- Additional Comments From nathan at gcc dot gnu dot org 2005-05-31 17:25 -------
> Are you sure my changes changed this behaviour? IIRC my changes removed the
> funky behaviour of ignoring the first field's offset. (well, that was the intent
> anyway) I don't believe I changed the DECL_SIZE check bit.
>
I looked, and it appears you are right.
Sorry bout that.
:)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (9 preceding siblings ...)
2005-05-31 17:38 ` dberlin at dberlin dot org
@ 2005-06-02 2:08 ` cvs-commit at gcc dot gnu dot org
2005-06-02 18:43 ` pinskia at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-06-02 2:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-06-02 02:08 -------
Subject: Bug 21839
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: dberlin@gcc.gnu.org 2005-06-02 02:08:03
Modified files:
gcc : ChangeLog gimplify.c
Added files:
gcc/testsuite/gcc.c-torture/compile: pr21839.c
Log message:
2005-06-01 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/21839
* gimplify.c (zero_sized_field_decl): New function.
(gimplify_init_ctor_eval): Use it.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8988&r2=2.8989
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimplify.c.diff?cvsroot=gcc&r1=2.131&r2=2.132
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/pr21839.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/21839] [4.1 Regression] ICE for missing V_DEFS caused by salias with empty structures
2005-05-31 13:38 [Bug c/21839] New: fs/ext3/ialloc.c error: Statement makes a memory store, mclinden at informed dot net
` (10 preceding siblings ...)
2005-06-02 2:08 ` cvs-commit at gcc dot gnu dot org
@ 2005-06-02 18:43 ` pinskia at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-02 18:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-02 18:43 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21839
^ permalink raw reply [flat|nested] 13+ messages in thread