1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 %s -o %t -emit-llvm -verify
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// PR4289
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct funcptr {
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int (*func)();
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int func(f)
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  void *f;
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return 0;
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaomain(int argc, char *argv[])
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct funcptr fp;
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  fp.func = &func;
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  fp.func = func;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
22