blob: e4e20b889acab02729f808d9a68b2e12b999c56e [file] [log] [blame]
/* Verify that attribute returns_nonnull on global and local function
declarations is merged.
{ dg-do compile }
{ dg-options "-Wall -fdump-tree-optimized -fdelete-null-pointer-checks" } */
void foo (void);
void frnn_local_local (void)
{
__attribute__ ((returns_nonnull)) void* frnn1 (void);
if (!frnn1 ())
foo ();
}
void gnr_local_local (void)
{
void* frnn1 (void);
if (!frnn1 ())
foo ();
}
void frnn_local_global (void)
{
__attribute__ ((returns_nonnull)) void* frnn2 (void);
if (!frnn2 ())
foo ();
}
void* frnn2 (void);
void gnr_local_global (void)
{
if (!frnn2 ())
foo ();
}
__attribute__ ((returns_nonnull)) void* frnn3 (void);
void frnn_global_local (void)
{
if (!frnn3 ())
foo ();
}
void gnr_global_local (void)
{
void* frnn3 (void);
if (!frnn3 ())
foo ();
}
/* { dg-final { scan-tree-dump-not "foo" "optimized" } } */