[omniORB] OmniORB 2.8, egcs-2.91.66 and unions

mdavis@rwii.com mdavis@rwii.com
Thu, 25 May 2000 17:04:11 -0400


I hunted through the archives and found no sure answer to my question. So
here it is.  If it is in the list somewhere, just point me to it.

I have some IDL source like the following.

// FILE.idl

module X
{
	struct Wubba
	{
		string name;
		int ID;
	};

	enum Foo { a, b, c, d };
	union Bar switch (Foo)
	{
		case a: long long_val;
		case b: short short_val:
		case c: Wubba wubba_val;
		case d: float float_val;
	};

	struct Baz
	{
		Bar bar_val;
		long flags;
	};

	interface Fnurt
	{
		Baz func();
		void func2(out Baz b);
	};

};



I run this through omniidl2 and get no errors.  But when I compile the
generated code, I get an error like the following :

FILESK.cc:962: warning: `class _0RL_pc_3d8d80dd09f4f202_70000000' has virtual functions but non-virtual destructor


This warning only appears when I have a function that returns either a struct
containing a union, or directly returns a union.

Should I just ignore this warning?

-- 
Mike Davis           Real World Interface, a division of I.S. Robotics
mdavis@rwii.com      http://www.rwii.com
603-532-6900 x215    fax : 603-532-6901