| extern int var __attribute__((weak)); |
| extern int arr[] __attribute__((weak)); |
| extern int fun(void) __attribute__((weak)); |
| |
| int test_addr_weak_fun(void) |
| { |
| if ( &var) return 1; |
| if ( arr) return 1; |
| if ( &arr) return 1; |
| if ( fun) return 1; |
| if ( &fun) return 1; |
| if ( *fun) return 1; |
| if (!&var) return 0; |
| if (! arr) return 0; |
| if (!&arr) return 0; |
| if (! fun) return 0; |
| if (!&fun) return 0; |
| if (!*fun) return 0; |
| return -1; |
| } |
| |
| /* |
| * check-name: Waddress-weak |
| * check-note: Undefined weak symbols (can) have a null address. |
| * check-command: sparse -Wno-decl -Waddress $file |
| * check-known-to-fail |
| */ |