From: Wolfgang J. <wj...@so...> - 2007-07-30 15:31:34
|
Hi Eric, some minutes ago I downloaded revision 6029 of /gobo/trunk/library/tools/eiffel and tried to re-stall "gec". Up to one mistake things are fine. Eric Bezault wrote: > Hi Wolfgang, > > Wolfgang Jansen wrote: >> When trying the same with "gcc" then many warnings like the following >> were issued: >> >> gec.c: In function `T202f63': >> gec.c:82734: warning: cast to pointer from integer of different size >> >> Line 82734 in C code reads >> >> t2 = ((T0*)gevoid(((T202*)(C))->a20, l2)); >> >> whereas "gevoid" is declared as >> >> extern int gevoid(T0* C, ...); >> >> Thus, the bad cast is from "int" to "T0*", i.e. from 4 to 8 bytes >> on a Tru64 platform (as I'm working on). I think, the solution is >> to redefine "gevoid" like "T0* gevoid(T0* C, ...)". > > I think that this problem should be solved now. gec now generates > a different "gevoid" function for each possible return type. > So, no bad type cast should occur anymore. > Yes, this works very well. >> After the warnings an error message follows: >> >> as1: Error: /usr/tmp/cciOAHCE.s, line 5: gp-relative segments >> together exceed 64k bytes >> >> Probably, the generated object file is too large. >> (I had the same effect also earlier when bootstrapping the SE compiler >> from a single C file instead from a split one.) > > gec is now able to split the generated C code over several files. > I didn't change the bootstrap to use this new functionality yet. Yes, this works very well either. > >> cc: Warning: gec.c, line 479288: Non-void function "gevoid" does >> not contain a return statement. (missingreturn) >> int gevoid(T0* C, ...) > > This should be solved as well. > Yes, it is. The remaining problem is C compilation. There are many errors of the form cc: Error: test.h, line 257: Missing ";". (nosemi) Line 257 is extern T0* geboxed1(T1 a1); and T0 in turn is defined in line 235 by #define T0 EIF_ANY but EIF_ANY is not defined. Replacing the last definition manually by #define T0 EIF_OBJECT makes the C compiler happy. -- Wolfgang Jansen University of Potsdam, Germany mailto: wj...@so... |