This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [REPOST] Invalid Code when reading from unaligned zero-sized array
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Bernd Edlinger <bernd dot edlinger at hotmail dot de>, Richard Biener <richard dot guenther at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>
- Date: Sat, 07 Dec 2013 11:44:32 +0100
- Subject: Re: [REPOST] Invalid Code when reading from unaligned zero-sized array
- Authentication-results: sourceware.org; auth=none
- References: <DUB122-W20B5CD3C7B50824A33E21AE4D50 at phx dot gbl> <55501474 dot 8ce4n3Il8S at polaris> <52A240CA dot 4040904 at redhat dot com>
> I'd certainly be concerned. Ports have (for better or worse) keyed on
> BLKmode rather than looking at the underlying types. So if something
> which was previously SImode or DImode is now BLKmode, there's a nonzero
> chance we're going to change how it gets passed.
Well, we have been saying that calling conventions need to be keyed on types
rather than modes for more than a decade... I recall auditing and fixing the
SPARC back-end circa 2003, so how long are we going to use this argument?
That being said, the concern is certainly valid so we may want to go for a
kludge instead of the fix. The point is that the kludge should do exactly
what the fix would have done in the RTL expander and nothing more; it's out of
question to pessimize all the other languages and all the other cases in the C
family of languages for highly artificial testcases using non-portable code.
--
Eric Botcazou