"Jeffrey R. Lewis" wrote:
>
> A failure of robustness in some code that I added. If I disable that code, you
> see the error message that you are supposed to see:
>
> ERROR "t.lhs" (line 168): Class hierarchy for "Order" is not acyclic
>
> I'll check a fix into the CVS repository.
I've attached the patch for your convenience.
--Jeff
Index: static.c
===================================================================
RCS file: /home/cvs/root/hugs98/src/static.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -c -r1.16 -r1.17
*** static.c 1999/11/16 22:59:55 1.16
--- static.c 2000/01/04 17:17:13 1.17
***************
*** 5990,5998 ****
checkSynonyms(tyconDefns); /* check synonym definitions */
mapProc(checkClassDefn,classDefns); /* process class definitions */
mapProc(kindTCGroup,tcscc(tyconDefns,classDefns)); /* attach kinds */
- mapProc(extendFundeps,classDefns); /* finish class definitions */
mapProc(addMembers,classDefns); /* add definitions for member funs */
mapProc(visitClass,classDefns); /* check class hierarchy */
linkPreludeCM(); /* Get prelude cfuns and mfuns */
mapOver(checkPrimDefn,primDefns); /* check primitive declarations */
--- 5989,6001 ----
checkSynonyms(tyconDefns); /* check synonym definitions */
mapProc(checkClassDefn,classDefns); /* process class definitions */
mapProc(kindTCGroup,tcscc(tyconDefns,classDefns)); /* attach kinds */
mapProc(addMembers,classDefns); /* add definitions for member funs */
mapProc(visitClass,classDefns); /* check class hierarchy */
+ mapProc(extendFundeps,classDefns); /* finish class definitions */
+ /* (convenient if we do this after */
+ /* calling `visitClass' so that we */
+ /* know the class hierarchy is */
+ /* acyclic) */
linkPreludeCM(); /* Get prelude cfuns and mfuns */
mapOver(checkPrimDefn,primDefns); /* check primitive declarations */