[omniORB] bug with recursive structures in omniORB3
David Scott
djs@uk.research.att.com
Thu, 23 Mar 2000 15:37:49 +0000 (GMT)
On Thu, 23 Mar 2000, Markus Redeker wrote:
> 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:
>
> [snip]
The following patch should correct the problem:
diff -u -u -r1.14.2.2 -r1.14.2.3
--- src/lib/omniORB2/omniidl_be/cxx/dynskel/typecode.py 2000/03/09 15:21:48 1.14.2.2
+++ src/lib/omniORB2/omniidl_be/cxx/dynskel/typecode.py 2000/03/23 15:31:10 1.14.2.3
@@ -509,7 +514,7 @@
seqType = seqType.seqType()
# careful of recursive unions
if isinstance(seqType, idltype.Declared) and \
- seqType.decl() != node:
+ not(recursive(seqType.decl())):
seqType.decl().accept(self)
self.__override = override
The fix has been committed in the external CVS server also.
Thanks for the bug report!
--
Dave Scott, Research Engineer, AT&T Research Cambridge UK