blob: 8d58f6ece9bffa5ca621083eb51862fd3475c63a [file] [log] [blame]
/* Verify that attribute noreturn on global and local function declarations
is merged.
{ dg-do compile }
{ dg-options "-Wall -fdump-tree-optimized" } */
void foo (void);
int fnr_local_local (void)
{
__attribute__ ((noreturn)) void fnr1 (void);
fnr1 ();
foo ();
}
int gnr_local_local (void)
{
void fnr1 (void);
fnr1 ();
foo ();
}
int fnr_local_global (void)
{
__attribute__ ((noreturn)) void fnr2 (void);
fnr2 ();
foo ();
}
void fnr2 (void);
int gnr_local_global (void)
{
fnr2 ();
foo ();
}
__attribute__ ((noreturn)) void fnr3 (void);
int fnr_global_local (void)
{
fnr3 ();
foo ();
}
int gnr_global_local (void)
{
void fnr3 (void);
fnr3 ();
foo ();
}
/* { dg-final { scan-tree-dump-not "foo" "optimized" } } */