This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/33086] warn for read-only uninitialized variables passed as arguments
- From: "manu at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Aug 2007 11:19:50 -0000
- Subject: [Bug middle-end/33086] warn for read-only uninitialized variables passed as arguments
- References: <bug-33086-13511@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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