| /* Verify that attribute nonnull on global and local function declarations |
| or those to pointers to functions is merged. |
| { dg-do compile } |
| { dg-options "-Wall" } */ |
| |
| void fnonnull_local_local (void) |
| { |
| extern __attribute__ ((nonnull)) void fnonnull1 (void*); |
| |
| fnonnull1 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| void gnonnull_local_local (void) |
| { |
| extern void fnonnull1 (void*); |
| |
| fnonnull1 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| |
| void fnonnull_local_global (void) |
| { |
| extern __attribute__ ((nonnull)) void fnonnull2 (void*); |
| |
| fnonnull2 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| extern void fnonnull2 (void*); |
| |
| void gnonnull_local_global (void) |
| { |
| fnonnull2 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| |
| extern __attribute__ ((nonnull)) void fnonnull3 (void*); |
| |
| void fnonnull_global_local (void) |
| { |
| fnonnull3 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| void gnonnull_global_local (void) |
| { |
| extern void fnonnull3 (void*); |
| |
| fnonnull3 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| |
| void pfnonnull_local_local (void) |
| { |
| extern __attribute__ ((nonnull)) void (*pfnonnull1) (void*); |
| |
| pfnonnull1 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| void gpnonnull_local_local (void) |
| { |
| extern void (*pfnonnull1) (void*); |
| |
| pfnonnull1 (0); // { dg-warning "\\\[-Wnonnull" "pr?????" { xfail *-*-* } } |
| } |
| |
| |
| void pfnonnull_local_global (void) |
| { |
| extern __attribute__ ((nonnull)) void (*pfnonnull2) (void*); |
| |
| pfnonnull2 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| extern void (*pfnonnull2) (void*); |
| |
| void gpnonnull_local_global (void) |
| { |
| pfnonnull2 (0); // { dg-warning "\\\[-Wnonnull" "pr?????" { xfail *-*-* } } |
| } |
| |
| |
| extern __attribute__ ((nonnull)) void (*pfnonnull3) (void*); |
| |
| void pfnonnull_global_local (void) |
| { |
| pfnonnull3 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |
| |
| void gpnonnull_global_local (void) |
| { |
| extern void (*pfnonnull3) (void*); |
| |
| pfnonnull3 (0); // { dg-warning "\\\[-Wnonnull" } |
| } |