[Bug middle-end/33086] warn for read-only uninitialized variables passed as arguments

manu at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Aug 16 11:20:00 GMT 2007



------- Comment #2 from manu at gcc dot gnu dot org  2007-08-16 11:19 -------
(In reply to comment #1)
> > At least for languages where 'const' is actually enforced
> 
> There is none, 

void use(const int *a)
{
    a[0] = 5;
}
void foo(void)
{
  int i;
  use(&i);
}

new.c:3: error: assignment of read-only location

Either I am misunderstanding you or your argument about overwriting the pointer
argument is equivalent to just don't using the value of 'i'. Of course, we
don't know whether the value is used or not within use() but the fact is that
'i' cannot be initialized within use().


-- 

manu at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |manu at gcc dot gnu dot org
           Priority|P5                          |P3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33086



More information about the Gcc-bugs mailing list