55 lines
811 B
C
55 lines
811 B
C
/* Verify that attribute noreturn on global and local function declarations
|
|
is merged.
|
|
{ dg-do compile }
|
|
{ dg-options "-Wall" } */
|
|
|
|
int fnr_local_local (void)
|
|
{
|
|
__attribute__ ((noreturn)) void fnr1 (void);
|
|
|
|
fnr1 ();
|
|
// no return, no warning (good)
|
|
}
|
|
|
|
int gnr_local_local (void)
|
|
{
|
|
void fnr1 (void);
|
|
|
|
fnr1 ();
|
|
// no return, no warning (good)
|
|
}
|
|
|
|
|
|
int fnr_local_global (void)
|
|
{
|
|
__attribute__ ((noreturn)) void fnr2 (void);
|
|
|
|
fnr2 ();
|
|
// no return, no warning (good)
|
|
}
|
|
|
|
void fnr2 (void);
|
|
|
|
int gnr_local_global (void)
|
|
{
|
|
fnr2 ();
|
|
// no return, no warning (good)
|
|
}
|
|
|
|
|
|
__attribute__ ((noreturn)) void fnr3 (void);
|
|
|
|
int fnr_global_local (void)
|
|
{
|
|
fnr3 ();
|
|
// no return, no warning (good)
|
|
}
|
|
|
|
int gnr_global_local (void)
|
|
{
|
|
void fnr3 (void);
|
|
|
|
fnr3 ();
|
|
// no return, no warning (good)
|
|
}
|