[omniORB] unions and multiple discriminators per type

Duncan Grisby dgrisby@uk.research.att.com
Wed, 05 Jan 2000 09:25:07 +0000


On Tuesday 4 January, Stefan Seefeld wrote:

> The following code produces an error with omniidl2:
> 
> union foo switch (char)
> {
>   case 'a': char a;
>   case 'b':
>   case 'c': char bar;
> };
> 
> results in an error message about a redefinition of 'bar'.

This is a known problem with the old omniidl2 IDL compiler. The new
IDL compiler, which is currently only used by omniORBpy, does support
this valid IDL. It would be a lot of work to make the old IDL compiler
support such constructs.

We're currently working on a back-end for C++ omniORB 3 with the new
front-end. When that's done, the above IDL will be supported. There
are no plans to write a new back-end for omniORB 2.x.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --