taube@sm.luth.se (Lars-Gunnar Taube) (11/09/88)
Greetings! First of all, I would like to thank all of you who sent me pointers on how to build cfront 1.2 on SUN. I now have a working cfront. Sort of. I have started to build InterViews 2.3 (coming with X11.R2) on our SUN-3:s under SunOS 3.5 with AT&T cfront 1.2.1. So far, no good. Cfront complains about a header file (include/Graphics/ref.h), which generates an internal error ("bus error or something nasty like that", I found it to be segmentation fault). A little poking with xgdb shows that it all happens in the cfront source file "expand.c", function "needs_zero". Does any of this sound familiar? Perhaps you know of a fix? If so, *Please* tell me of it! This is a plea for help. Any pointers, etc. deeply apprieciated. lgt -- taube@luth.UUCP Lars-Gunnar Taube taube@sm.luth.se Dept of Math & CS ...{uunet,mcvax}!enea!sm.luth.se!taube U of Lule, SWEDEN
calder@lurch.stanford.edu (Paul Calder) (11/12/88)
I have started to build InterViews 2.3 (coming with X11.R2) on our SUN-3:s under SunOS 3.5 with AT&T cfront 1.2.1. So far, no good. This is a bug in cfront that is tickled by InterViews. As you correctly point out, the problem is in expand.c. Here are the cdiffs. src/expand.c *************** *** 79,87 **** { int val = 0, tmp = 1; Pexpr ee = e->e1; ! if ( ee == 0 || ee->tp == 0 ) { ! return 0; ! } xxx: switch( ee->tp->base ) { --- 79,85 ---- { int val = 0, tmp = 1; Pexpr ee = e->e1; ! if ( ee->tp == 0 ) return 0; xxx: switch( ee->tp->base ) { *************** *** 95,101 **** } if ( tmp == 1 ) { ! tmp++; if ((ee = e->e2) && ee->tp) goto xxx; } return( val ); --- 93,99 ---- } if ( tmp == 1 ) { ! tmp++; if (ee = e->e2) goto xxx; } return( val );