blob: d060ae2a9689426afc596d55f6d2b1bda8ac4cdb [file] [log] [blame]
/* PR c/43395 */
/* { dg-do compile } */
/* { dg-require-effective-target label_values } */
void *
foo (void)
{
lab: /* { dg-line foo_lab } */
return &&lab;
/* { dg-warning "function returns address of label" "" { target c } .-1 } */
/* { dg-warning "address of label" "" { target c++ } foo_lab } */
}
void *
bar (void)
{
__label__ lab;
lab: /* { dg-line bar_lab } */
return &&lab;
/* { dg-warning "function returns address of label" "" { target c } .-1 } */
/* { dg-warning "address of label" "" { target c++ } bar_lab } */
}
void *
baz (void)
{
int i; /* { dg-line baz_i } */
return &i;
/* { dg-warning "function returns address of local variable" "" { target c } .-1 } */
/* { dg-warning "address of local variable" "" { target c++ } baz_i } */
}