fehler65 (from 253.perl)
[libfirm] / ir / be / test / fehler56.c
index 739c571..87af092 100644 (file)
@@ -1,55 +1,28 @@
-typedef union rtunion_def
-{
-       int rtwint;
-       int rtint;
-       char *str;
-       struct rtx_def *rtx;
-} rtunion;
-
 typedef struct rtx_def
 {
        unsigned short code;
        int mode : 8;
-       unsigned int jump : 1;
-       unsigned int call : 1;
-       unsigned int unchanging : 1;
-       unsigned int volatil : 1;
-       unsigned int in_struct : 1;
-       unsigned int used : 1;
-       unsigned int integrated : 1;
-       rtunion fld[1];
+       int rtint;
 } *rtx;
 
-enum machine_mode {
-       PSImode,
-       SImode,
-       PDImode,
-       DImode,
-       TImode,
-       OImode,
-       QImode,
-       HImode,
-       VOIDmode
-};
-
-#define GET_MODE(RTX)       ((RTX)->mode)
-#define PUT_MODE(RTX, MODE) ((RTX)->mode = (MODE))
-
 struct rtx_def bla;
 
-void t(int did_elimination, int n_reloads) {
-       rtx insn = &bla;
+void t(int num_eliminable, int n_reloads) {
+       register rtx insn = &bla;
+       int did_elimination = 0;
+
+       if(num_eliminable)
+               did_elimination = rand();
 
-       printf("Before: mode %d, fldint: %d\n", insn->fld[0].rtint);
-       PUT_MODE(insn, (did_elimination ? QImode
-                               : n_reloads ? HImode
-                               : GET_MODE (insn) == DImode ? DImode
-                               : VOIDmode));
-       printf("After: mode %d, fldint: %d\n", insn->fld[0].rtint);
+       insn->mode = did_elimination ? 42 : insn->mode == 6 ? 6 : 0;
 }
 
 int main()
 {
-       t(1, 1);
+       bla.rtint = 8;
+       bla.mode  = 6;
+       printf("Before: %d %d\n", bla.mode, bla.rtint);
+       t(0, 1);
+       printf("After: %d %d\n", bla.mode, bla.rtint);
        return 0;
 }