diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20080922-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20080922-1.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20080922-1.c b/gcc/testsuite/gcc.c-torture/compile/20080922-1.c new file mode 100644 index 000000000..853ec4f25 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20080922-1.c @@ -0,0 +1,29 @@ +typedef struct rtx_def *rtx; +typedef struct rtvec_def *rtvec; +enum rtx_code { PARALLEL, SET }; +union rtunion_def { + rtx rt_rtx; + rtvec rt_rtvec; +}; +typedef union rtunion_def rtunion; +struct rtx_def { + rtunion fld; +}; +struct rtvec_def { + int num_elem; +}; +extern rtx operand; + +rtx peephole2_insns (rtx x0, enum rtx_code code) +{ + switch (code) + { + case SET: + operand = (((x0)->fld).rt_rtx); + return operand; + case PARALLEL: + if ((((((x0)->fld).rt_rtvec))->num_elem) == 2) + return 0; + break; + } +} |