blob: 9c05891ab23e4b8364615e4241fea9efb0271383 [file] [log] [blame]
/* PR middle-end/63272 - GCC should warn when using pointer to dead scoped
variable within the same function
Exercise -Wdangling-pointer with inlining.
{ dg-do compile }
{ dg-options "-O1 -Wall" } */
void* sink (void*, ...);
extern int *eip; // { dg-message "'eip' declared here" }
static inline void store (int **p, int *q)
{
*p = q; // { dg-warning "storing the address of local variable 'auto_x' in 'eip'" }
}
void nowarn_inlined_store_extern (void)
{
extern int extern_x;
store (&eip, &extern_x);
}
void nowarn_inlined_store_static (void)
{
static int static_x;
store (&eip, &static_x);
}
void warn_inlined_store_auto (void)
{
int auto_x; // { dg-message "'auto_x' declared here" }
store (&eip, &auto_x);
}