[Bug middle-end/31541] [4.3 Regression] cannot take address of bit field
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Fri Jun 22 09:45:00 GMT 2007
------- Comment #14 from rguenther at suse dot de 2007-06-22 09:45 -------
Subject: Re: [4.3 Regression] cannot take address of
bit field
On Fri, 22 Jun 2007, hubicka at ucw dot cz wrote:
> ------- Comment #12 from hubicka at ucw dot cz 2007-06-22 09:35 -------
> Subject: Re: [4.3 Regression] cannot take address of bit field
>
> Hi,
> I've experimented with this a bit - the problem is that the error is
> produced during gimplification: gimplifier translates the expression
> into the addr_expr form and later gimplifying the addr_expr it calls the
> mark_addressable langhook that porudces the error.
>
> It seems to me that this langhook call is unnecesary. Removing it
> breaks since C++ is sometimes producing references to objects not having
> addr_expr during gimplification, but it seems to me that adding just
> generic code that takes gimple addr_expr and marks bit addressable (just
> as aliasing does) instead the full blown langhook should just work?
>
> THe typechecking in frontend should be enough to catch this sort of
> syntax errors (when address is taken form something language prohibits).
> Does this seem sane?
Yes. It looks like a frontend bug if the tree was not marked addressable
before gimplification but would need to after.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31541
More information about the Gcc-bugs
mailing list