[RFC PATCH] Fix middle-end/6963

David Edelsohn dje@watson.ibm.com
Fri Jun 28 08:18:00 GMT 2002


>>>>> Richard Henderson writes:

Richard> You need to provide the test case.

gcc -O1 -maix64 (produces corrupt assembly language)
gcc -O2 -maix64 (ICE in sched_analyze_2)

GCC 3.1 branch and GCC 3.2 trunk, either AIX target or PowerPC64 Linux
target.

Thanks, David

----- Begin Testcase -----

#define NIL (void *)0

typedef struct _LispObj LispObj;
struct _LispObj {
     int type : 6;
     LispObj *next;
     long integer;
     double real;
};
extern LispObj *LispNewCons();

LispObj *
Lisp_Makearray(LispObj *list, LispObj *ary, LispObj *disp)
{
     long count = 1, c=1;
     LispObj *dim, *obj;

     dim = list->next;
     for (obj = dim; obj != NIL; obj = obj->next)
         count *= (obj->type == 0 ? obj->real : obj->integer);

     for (c = 1, obj = disp->next; obj != NIL; obj = obj->next)
         c *= (int)(obj->type == 0 ? obj->real : obj->integer);

     count == 0;
     if (count)
         while (count) {
             ary->next = LispNewCons();
             count--;
         }
     return (obj);
}

----- End Testcase -----



More information about the Gcc-patches mailing list