42 lines
551 B
C
42 lines
551 B
C
/* GCC was not warning about taking the address of parameters or
|
|
fields of struct parameters when returning them. */
|
|
/* PR c/14156 */
|
|
|
|
/* { dg-do compile } */
|
|
|
|
|
|
int * f( int a)
|
|
{
|
|
return &a;/* { dg-warning "address" "" } */
|
|
}
|
|
|
|
int * g()
|
|
{
|
|
int b = 0;
|
|
return &b;/* { dg-warning "address" "" } */
|
|
}
|
|
|
|
struct ll
|
|
{
|
|
int i;
|
|
};
|
|
|
|
int *h(struct ll c)
|
|
{
|
|
return &c.i;/* { dg-warning "address" "" } */
|
|
}
|
|
|
|
|
|
struct ll d;
|
|
|
|
int *i()
|
|
{
|
|
return &d.i;/* { dg-bogus "address" "" } */
|
|
}
|
|
|
|
|
|
int *j(struct ll *c)
|
|
{
|
|
return &c->i; /* { dg-bogus "address" "" } */
|
|
}
|