From: Eric B. <er...@go...> - 2007-07-20 14:15:24
|
Hi Wolfgang, Wolfgang Jansen wrote: > when experimenting with the "gec" it happened > that C compilation failed if the Eiffel code contains > entities of expanded types. > There are two kinds or errors: > - wrong arrangement of type definitions in the *.h file > - bad initializer of local variables > (0 when a struct is expected) > > I tried several modifications of routine > `ET_C_GENERATOR.print_types' to rearrange type definitions > and achieved improvements but no satisfying solution. Unfortunately expanded types are not supported yet: http://www.gobosoft.com/eiffel/gobo/gec/limitations.html Even after modifying ET_C_GENERATOR.print_types to make it work, I'm pretty sure that there would be other glitches when there are special Eiffel validity rules or semantics for expanded types. > Probably, the routine must follow the graph of client > relations (at least the subgraph of attribute relations) > such that the "typedef" declarations are written > in the pre-processing phase (to have the corresponding > _pointer_ types defined in case of a cyclic dependency) > whereas the "struct ..." definitions are written in > the post-processing phase (when all attribute types > have been processed). Isn't it what ET_C_GENERATOR.print_types already does? -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |