This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/30017] [4.3 Regression] ICE in cp_expr_size, at cp/cp-objcp-common.c:101
- From: "jh at suse dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Nov 2006 18:54:03 -0000
- Subject: [Bug middle-end/30017] [4.3 Regression] ICE in cp_expr_size, at cp/cp-objcp-common.c:101
- References: <bug-30017-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from jh at suse dot cz 2006-11-30 18:54 -------
Subject: Re: [4.3 Regression] ICE in cp_expr_size, at cp/cp-objcp-common.c:101
> > The code has not undefined behavior, but I think removing the check is ok (it's
> > certainly not supposed to trigger _inside_ the assignment operator or the
> > copy constructor).
>
> Actually I don't think removing that check is ok. Allows us to find problems
> with the gimplifier, when it is trying to create a temprorary variable when it
> should not.
Well, actually we probably need to decide on one thing - ie if we want
to allow such a moves later at gimple form. I would say that we want to
as we want to make gimple language indepdendent in longer form and thus
classes are just aggregates as of any kind and assigning them is safe.
If we don't want to, we need to come with check prohibiting builtins.c
to construct the assignment.
If we want to, we need to find way to either relax or elliminate the
check or move it to better place. I still wonder why do we need
expr_size hook that late in compilation?
(ie using TYPE_UNIT_SIZE instead would solve the problem too)
Honza
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30017