GNOME Bugzilla – Bug 108644
sequence of sequence of double causes problems
Last modified: 2004-12-22 21:47:04 UTC
I am having some difficulty with ORBit2-cpp 1.3.5 and ORBit2 2.6.0 under RedHat Linux 8.0 using GARNOME to build GNOME 2.2. I am trying to define some two dimensional matrices. Using this code in beserk.idl: typedef sequence<sequence<double> > CoeffMat; Results in: [owe043@phi bol]$ orbit-idl-2 -l cpp beserk.idl orbit-idl-2 2.6.0 compiling mode, show preprocessor errors, passes: stubs skels common headers skel_impl imodule ** ERROR **: file IDLSequence.cc: line 401 (virtual std::string IDLSequence::get_c_member_typename(const IDLTypedef*) const): assertion failed: (active_typedef)aborting... Trace/breakpoint trap (core dumped) If I use the following code: typedef double Real; typedef sequence<Real> CoeffSeq; typedef sequence<CoeffSeq> CoeffMat; Results in: [owe043@phi bol]$ orbit-idl-2 -l cpp beserk.idl orbit-idl-2 2.6.0 compiling mode, show preprocessor errors, passes: stubs skels common headers skel_impl imodule Segmentation fault (core dumped) If I use the following code: module beserk { interface Variable { }; typedef sequence<Variable> VarSeq; typedef sequence<VarSeq> VarMat; }; The idl compiler consumes as much memory as it can a hold of. It probably then crashes, but I have always had to kill it first. The idl compiler, using the C backend, handles all the different tests.
Created attachment 15219 [details] [review] implementation of IDLEnum::get_seq_typename and IDLSequence::get_seq_typename
Created attachment 15243 [details] [review] implmentation of IDLEnum::get_seq_typename and IDLSequence::get_seq_typename plus ChangeLog and test code
Checked in to CVS HEAD, thanks again.