| // RUN: %clang_cc1 -fsyntax-only %s -Weverything | |
| void free(void *); | |
| typedef void (*set_free_func)(void *); | |
| struct Method { | |
| int nparams; | |
| int *param; | |
| }; | |
| void selelem_free_method(struct Method* method, void* data) { | |
| set_free_func free_func = 0; | |
| for (int i = 0; i < method->nparams; ++i) | |
| free(&method->param[i]); | |
| if (data && free_func) | |
| free_func(data); | |
| } |