| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| typedef enum { LangC } cLanguage; |
| typedef enum { FunctionOneArg, FunctionStandard } cFunctionType; |
| void *CCTK_CallFunction_function; |
| cLanguage CCTK_CallFunction_fdata_0; |
| cFunctionType CCTK_CallFunction_fdata_1; |
| void CCTK_CallFunction_data() { |
| void (*standardfunc)(); |
| int (*oneargfunc)(); |
| switch (CCTK_CallFunction_fdata_1) { |
| case FunctionOneArg: |
| oneargfunc = CCTK_CallFunction_function; |
| oneargfunc(CCTK_CallFunction_data); |
| break; |
| case FunctionStandard: |
| switch (CCTK_CallFunction_fdata_0) { |
| case LangC: |
| standardfunc = CCTK_CallFunction_function; |
| standardfunc(CCTK_CallFunction_data); |
| } |
| } |
| } |