[Bug c/50476] New: Warn of pointer set to object whose lifetime is limited
rui.maciel at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Sep 22 01:25:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50476
Bug #: 50476
Summary: Warn of pointer set to object whose lifetime is
limited
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: rui.maciel@gmail.com
Consider the following code:
<code>
#include <stdio.h>
int *x = NULL;
void f(void)
{
int y = 1;
x = &y;
}
int main(void)
{
f();
printf("int: %d\n", *x);
return 0;
}
</code>
Function f() assigns a global pointer to a local object, so that the global
pointer refers to the local object's address even when the object's lifetime
ends. This represents undefined behaviour, and therefore can be a potential
source of problems. It would be great if gcc at least threw a warning
informing the user of this problem, similar to how Bug 14156 handles it's use
case.
More information about the Gcc-bugs
mailing list