G'day all. I'm working on implementing Any in ORBit-C++, but have a problem. The C++ mapping spec says that the CORBA::LongDouble type must be distinct from other types for the purposes of overloading functions. CORBA::LongDouble is typedef'd to ORBit's CORBA_long_double type, which is in turn typedef'd to glib's gdouble type. CORBA::Double is likewise typedef'd to ORBit's CORBA_double type, which is also typed to glib's gdouble type. So the compiler can't tell them apart, and thinks the Any insertion operator for CORBA::LongDouble is a redeclaration of the insertion operator for CORBA::Double. That's no good. I tried changing the typedef for CORBA_long_double to "long double" (I would have used glib's gldouble if it had been defined) and rebuilding ORBit, but now if I try to send CORBA_long_double arguments I get garbage. I can't see anywhere that has a size hard-coded. Yes, I rebuilt the IDL compiler as well, and regenerated the stubs and skeletons with that. Can anyone help me make CORBA_long_double a distinct type from CORBA_double? Or more importantly, make CORBA::LongDouble distinct from CORBA::Double? I don't really want to write a CORBA::LongDouble class and implement all the standard arithmetic operators. :( -- Sam Couter | Internet Engineer | http://www.topic.com.au/ sam topic com au | tSA Consulting | PGP key available on key servers PGP key fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C
Attachment:
pgpP8Az3dcsOw.pgp
Description: PGP signature