[omniORB] bug with recursive structures in omniORB3
Markus Redeker
markus@ibp.de
Thu, 23 Mar 2000 15:08:54 +0100
Hi,
there is a bug in omniOrb v3 (CVS version, updated today). If I call omniidl
with option -Wba and try to compile the following piece of IDL, the compiler
gets into an infinite recursion:
enum num { c1, c2 };
struct foo
{
union value switch(num) {
case c1: long l;
case c2: sequence<foo> k;
} bar;
};
If I stop the compiler, I get the following output:
omniidl -bcxx -Wbh=.h -Wbs=.cc -Wba test.idl
make: *** Deleting file test.h'
make: *** [test.h] Deleting file test.cc'
Traceback (innermost last):
File "/home/markus/omni/bin/i586_linux_2.0_glibc/omniidlrun.py", line 92,
in ?
omniidl.main.main()
File "./main.py", line 410, in main
File "./__init__.py", line 231, in run
File "./dynskel/__init__.py", line 100, in run
File "./dynskel/__init__.py", line 89, in generate
File "./idlast.py", line 141, in accept
File "./dynskel/typecode.py", line 330, in visitAST
File "./idlast.py", line 429, in accept
File "./dynskel/typecode.py", line 420, in visitStruct
File "./idlast.py", line 539, in accept
File "./dynskel/typecode.py", line 513, in visitUnion
File "./idlast.py", line 429, in accept
File "./dynskel/typecode.py", line 420, in visitStruct
File "./idlast.py", line 539, in accept
File "./dynskel/typecode.py", line 513, in visitUnion
File "./idlast.py", line 429, in accept
...and this goes on and on, for hundreds of lines.
Without the option -Wba, everything works fine.
Markus