This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PR179 reopened (was it ever fixed?)
- From: Diego Novillo <dnovillo at google dot com>
- To: Manuel López-Ibáñez <lopezibanez at gmail dot com>
- Cc: gcc <gcc at gcc dot gnu dot org>
- Date: Thu, 16 Aug 2007 11:09:55 -0400
- Subject: Re: PR179 reopened (was it ever fixed?)
- References: <6c33472e0708160318g5cbc18a0k33612f1ccb54e2e6@mail.gmail.com>
On 8/16/07 6:18 AM, Manuel López-Ibáñez wrote:
> Am I wrong? Why can be the reason for this? How can I
> investigate further?
That's right. In this case variable 'i' is an addressable local, so it
is not put in normal SSA form. It's in virtual SSA form (use the -vops
option when dumping the IL). We don't warn on memory symbols, only
registers.
One way to address this could be to consider 'i.0' uninitialized because
its initial value is coming from a local memory symbol with no know
initialization. Notice that the initial assignment to i.0 has a VUSE
for i's default definition. You could probably use that to warn that
'i' is being used uninitialized.
BTW, your -B2 code still has the call to foo() what did you change
between the two? Seems like you just s/foo(&i)/foo(i)/