orbitcpp-list Mailing List for orbitcpp (Page 17)
Status: Beta
Brought to you by:
philipd
You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(19) |
Feb
(45) |
Mar
(53) |
Apr
(64) |
May
(22) |
Jun
(6) |
Jul
(56) |
Aug
(11) |
Sep
(32) |
Oct
(27) |
Nov
(43) |
Dec
(25) |
2001 |
Jan
(11) |
Feb
(26) |
Mar
(16) |
Apr
(19) |
May
(19) |
Jun
(28) |
Jul
(16) |
Aug
(12) |
Sep
(7) |
Oct
(9) |
Nov
(1) |
Dec
(35) |
2002 |
Jan
(45) |
Feb
(66) |
Mar
(25) |
Apr
(20) |
May
(15) |
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(26) |
2003 |
Jan
(8) |
Feb
|
Mar
|
Apr
(4) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2004 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(2) |
Jul
(4) |
Aug
(4) |
Sep
(4) |
Oct
(17) |
Nov
(23) |
Dec
(5) |
2007 |
Jan
(37) |
Feb
(20) |
Mar
(16) |
Apr
(23) |
May
(20) |
Jun
(12) |
Jul
(20) |
Aug
(25) |
Sep
(15) |
Oct
(8) |
Nov
(5) |
Dec
(3) |
2008 |
Jan
(9) |
Feb
(6) |
Mar
(37) |
Apr
(28) |
May
(12) |
Jun
(9) |
Jul
(30) |
Aug
(7) |
Sep
(20) |
Oct
(26) |
Nov
(50) |
Dec
(75) |
2009 |
Jan
(63) |
Feb
(46) |
Mar
(54) |
Apr
(53) |
May
(125) |
Jun
(102) |
Jul
(90) |
Aug
(46) |
Sep
(26) |
Oct
(32) |
Nov
(9) |
Dec
(29) |
2010 |
Jan
(9) |
Feb
(8) |
Mar
(45) |
Apr
(56) |
May
(74) |
Jun
(73) |
Jul
(34) |
Aug
(48) |
Sep
(23) |
Oct
(3) |
Nov
|
Dec
(3) |
2011 |
Jan
(5) |
Feb
(3) |
Mar
(17) |
Apr
(3) |
May
(2) |
Jun
(3) |
Jul
(4) |
Aug
(8) |
Sep
(17) |
Oct
(6) |
Nov
(5) |
Dec
(10) |
2012 |
Jan
(3) |
Feb
(15) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(5) |
Aug
(3) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(2) |
2013 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(6) |
Aug
(52) |
Sep
(3) |
Oct
(5) |
Nov
(1) |
Dec
(8) |
2014 |
Jan
(1) |
Feb
(16) |
Mar
(9) |
Apr
(11) |
May
(16) |
Jun
(15) |
Jul
(13) |
Aug
(4) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
(3) |
2015 |
Jan
(5) |
Feb
(1) |
Mar
(5) |
Apr
(1) |
May
(5) |
Jun
(3) |
Jul
(4) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(1) |
2017 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(5) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Brian C. <bc...@th...> - 2002-02-24 16:30:51
|
On Sun, Feb 24, 2002 at 07:00:43PM +1100, Sam Couter wrote: > It's safer to compile it yourself or use the version compiled by your > distribution vendor (if there is one) Requiring my users to compile support libraries isn't an option. Near as I can tell there are no vendors that ship orbitcpp. Guess I'll use C wrappers. I suppose I could also distribute orbitcpp with the app and install the lib in an app specific directory. Using wrappers is still probably easier. Thanks, b.c. |
From: Sam C. <sc...@bi...> - 2002-02-24 08:01:14
|
Brian Craft <bc...@th...> wrote: > Are there plans to provide binaries for the major linux distributions?=20 A binary package is available as part of the Debian GNU/Linux system, but I have no plans to provide them for other distributions. It's safer to compile it yourself or use the version compiled by your distribution vendor (if there is one), and it's not a difficult package to compile. You wouldn't really be able to trust whatever packages I made available for download, as they'd have to be donated by others. I don't have the resources to compile the package for multiple distributions. > Is orbitcpp stable and complete enough to use in a currently shipping app? That depends on what you're trying to do with it. What features do you need? It works for the commercial application that I've used it for, but my application was relatively straightforward. --=20 Sam "Eddie" Couter | mailto:sc...@bi... Debian Developer | mailto:ed...@de... | jabber:sa...@ja... OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: Brian C. <bc...@th...> - 2002-02-24 03:47:14
|
Hi all -- I'm in the process of adding corba to a c++ application. It would be nice to have native language bindings, rather than having to maintain c wrappers. But it doesn't look like orbitcpp is together enough, yet. In particular, I can't introduce a dependence on a library which is only distributed as source. Are there plans to provide binaries for the major linux distributions? Is orbitcpp stable and complete enough to use in a currently shipping app? b.c. |
From: <bb...@ya...> - 2002-02-21 22:37:43
|
> I can't think of any way of retaining this C <-> C++ compatibility > if > the CORBA_Object struct definition remains private and subject to > change. But I'm certainly not a C++ expert by any stretch of the > imagination. > > So... thoughts, anyone? More thinking aloud, if anyone still want to pursue this course... If you did inherit CORBA::Object privately from CORBA_Object, then the same piece of memory could be used for C and C++ objects. You would have to have an overloaded operator new and delete for the CORBA::Object which used the C allocator and deallocator for CORBA_Object. It doesn't seem possible that a CORBA::Object could ever exist as a concrete object on the stack since its size cannot be determined but only pointers should ever exist to this type anyway. Allocation on the heap through new should be sufficient and possible. The concrete types are X_var and X_ptr which hold pointers, so this seems OK. A narrow operation might operate like CORBA::XXX_ptr CORBA::XXX_ptr::narrow( const CORBA::Object_ptr & rhs ) { // Note: rhs.internalPtr_ is a CORBA::Object * // a CORBA_Object * is the same as a CORBA::Object * CORBA_Object * rhsPtr = reinterpret_cast<CORBA_Object *>( rhs.internalPtr_ ); // do ORBit narrow on internal pointer CORBA_XXX * newObj = CORBA_XXX_narrow( rhsPtr, env ); // check for exceptions and throw if a bad narrow // this should be OK since CORBA::XXX inherits from CORBA_XXX CORBA::XXX * internalPtr = static_cast<CORBA::XXX *>(newObj); // create new XXX_ptr which is now responsible for newObj return CORBA::XXX_ptr(internalPtr); } When the XXX_ptr deletes its internal pointer, the operator delete for the XXX * will actually call the ORBit routine to deallocate itself (because it is also a CORBA_XXX pointer). (Disclaimer: I've come in half way through this discussion so I may be missing some important point. Also I don't know the C binding.) Or is this all just wrong? http://movies.yahoo.com.au - Yahoo! Movies - Vote for your nominees in our online Oscars pool. |
From: Michael M. <mi...@xi...> - 2002-02-19 08:32:40
|
Hi Sam, On Mon, 2002-02-18 at 06:25, Sam Couter wrote: > There shouldn't be any reason to hide the CORBA_Object from the C++ > binding, as the C++ binding will be rebuilt any time the CORBA_Object > structure is redefined anyway. Quite :-) > Hiding it from third-party bindings is a different matter. Yes. > Or am I missing something? No :-) Michael. -- mm...@gn... <><, Pseudo Engineer, itinerant idiot |
From: <bb...@ya...> - 2002-01-27 09:36:54
|
OK, so I checkout the cpp branch of ORBit2 but I have problems. 1. autconf creates a configure which calls ltconfig --no-verify but doesn't specify a host type. This causes ltconfig to fail so it doesn't generate libtool. 2. When I hack aclocal to provide the host-type configure stops half way through with ./configure: line 3648: syntax error near unexpected token `PKG_CHECK_MODULES(ORBIT,' What versions of configure tools are people using? I have autconf 2.52 libtool 1.4.2 Please excuse my lack of knowledge about autoconf et al. I'm assuming that PKG_CHECK_MODULES is an autoconf macro that I don't have for some reason. Anyone know what I'm missing here? http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: <bb...@ya...> - 2002-01-24 03:53:09
|
Murray, Can you describe a manifest of what is needed to get started using orbitcpp with ORBit2. I seem to remember this was covered some time ago but I couldn't find the info in the archives. Which versions are known to work together and where can I get them? Eg. how do I pull down the cpp branch of ORBit2, linc etc. Is there any particular branch of orbitcpp required or is this included in the ORBit2 area as was suggested some time ago? -- Rich http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: <bb...@ya...> - 2002-01-21 21:38:18
|
> I didn't mean to be insulting, I just meant to impress upon you > that this isn't a sensible way of us all working on the ORBit2 > branch. OK. Point taken. But for me ORBit2 is a low priority. If ORBit2 is happy to coexist with ORBit1 on my system in the same way that gcc3 coexists with gcc2 then one day soon I will ensure that the patch works with ORBit2. My appologies for taking your comments in the wrong light. -- RIch http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: <no...@so...> - 2002-01-21 11:43:22
|
Bugs item #503269, was opened at 2002-01-14 03:01 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=503269&group_id=646 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Richard Andrews (bbmaj7) >Assigned to: Sam Couter (eddiesam) Summary: generate skel code not legal C++ Initial Comment: Let me present an example of what currently occurs. This is a skel generated from the everything test test_VariableLengthStruct * _skel_opVariable( ::PortableServer_Servant _servant, const test_VariableLengthStruct * inArg, test_VariableLengthStruct *inoutArg, test_VariableLengthStruct **outArg, ::CORBA_Environment *_ev) { ::test::VariableLengthStruct *_retval = NULL; bool _results_valid = true; try { POA_test::StructServer * _self = ((_orbitcpp_Servant *)_servant)->m_cppimpl; _retval = _self->opVariable( reinterpret_cast< const VariableLengthStruct&>(*inArg), reinterpret_cast< VariableLengthStruct&>(*inoutArg), reinterpret_cast< VariableLengthStruct*&>(*outArg) ); } I have removed namespace qualifications for clarity. Now what happens here is that _self->opVariable expects a Data_out<VariableLengthStruct> & (non-const ref) as argument 3. Under C++ implied construction rules this is no problem because Data_out<...> has a constructor from VariableLengthStruct*&. BUT... and here's the big problem. This constructor creates a temporary object which is passed as a reference through parameter 3, however only const-references to temporaries may be passed in standard C++ (as is now enforced in gcc3). The only legal way to get around this problem is to construct a wrapper object before the call, then pass this as the non-const reference. Eg. try { POA_test::StructServer * _self = ((_orbitcpp_Servant *)_servant)->m_cppimpl; Data_out< VariableLengthStruct> wrapper3( reinterpret_cast< VariableLengthStruct*&>(*outArg) ); _retval = _self->opVariable( reinterpret_cast< const VariableLengthStruct&>(*inArg), reinterpret_cast< VariableLengthStruct&>(*inoutArg), wrapper3); } In this case because wrapper3 is not a temporary it can be passed through a non-const reference as is required for argument 3 of opVariable(). In general the skeleton code for invoking operations needs to be modified so that for each argument to the servant implementation that is passed by non-const reference, a temporary is constructed and passed. I've been having a look at the code. The main areas of interest are IDLPassSkels::doOperationSkel() IDL_X_X_X_::getCPPSkelParameterTerm() -- I put in a kludge in orbitcpp_smrtptr.hh about a year ago using const_cast<>() to get around this problem but it is no longer sufficient. The problem needs to be fixed at the source which is the generated skel code. I'm willing to put some time into fixing this if someone familiar with this code can help me out. ---------------------------------------------------------------------- >Comment By: Sam Couter (eddiesam) Date: 2002-01-21 03:43 Message: Logged In: YES user_id=14486 Richard's supplied patch has been applied. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=503269&group_id=646 |
From: Sam C. <sc...@bi...> - 2002-01-21 11:41:17
|
Richard Andrews <bb...@ya...> wrote: > Attached are some patches to make the skel output of orbitcpp legal > ISO C++. See bug report 503269 on the orbitcpp page at sourceforge. Patches have been applied and committed to the CVS repository. Your contribution is appreciated. :) --=20 Sam "Eddie" Couter | mailto:sc...@bi... Debian Developer | mailto:ed...@de... | jabber:edd...@ja... OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: <no...@so...> - 2002-01-21 11:03:33
|
Bugs item #475580, was opened at 2001-10-27 09:24 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=475580&group_id=646 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Francesco Lamonica (franci) Assigned to: Sam Couter (eddiesam) Summary: Compilation fail Initial Comment: Compilation fails on the test suite (at least in slackware 7.x and 8). This is due to the static linking against the glib.a libraray... maybe the compiler (gcc 2.95.3) should be explicitly told that is a static lib (static linking has always been a little annoying). Btw adding the -lglib flags made the compilation go smoothlessly ---------------------------------------------------------------------- >Comment By: Sam Couter (eddiesam) Date: 2002-01-21 03:03 Message: Logged In: YES user_id=14486 Braden has changed the build and removed the -static compiler option. ---------------------------------------------------------------------- Comment By: Sam Couter (eddiesam) Date: 2001-12-09 15:10 Message: Logged In: YES user_id=14486 I think this bug is just a symptom, and the real problem is that the tests are linking statically. If the tests are modified to link dynamically instead, this bug should go away. ---------------------------------------------------------------------- Comment By: Francesco Lamonica (franci) Date: 2001-12-08 04:44 Message: Logged In: YES user_id=1349 in the test suite the command line tell compiler to just use the glib.a file that would cos the linker to got nut and do not work properly.... instead of using the glib.a file using the shared library causes no problem at all. So i think that the linker is always checking for the shared library and that should be taold explicitly to usa static linking.... maybe with the -Wl,static flag but i am not sure about the correct syntax.... ---------------------------------------------------------------------- Comment By: Sam Couter (eddiesam) Date: 2001-12-07 22:49 Message: Logged In: YES user_id=14486 Francesco: Can you provide more information on this? Can you explain how the static linking causes problems? I don't have any problems, using gcc 2.95.4 20011006. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=475580&group_id=646 |
From: <no...@so...> - 2002-01-21 11:01:52
|
Bugs item #437571, was opened at 2001-06-30 07:50 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=437571&group_id=646 Category: None Group: None >Status: Closed >Resolution: Works For Me Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Sam Couter (eddiesam) Summary: error while compiling Initial Comment: Making all in services make[1]: Entering directory `/usr/local/orbitcpp-0.30/services' Making all in name make[2]: Entering directory `/usr/local/orbitcpp-0.30/services/name' /opt/gnome/bin/orbit-idl -l c++ --backenddir=../../compiler/.libs ./CosNaming.id ** WARNING **: Module load failed: ../../compiler/.libs/liborbit-idl-c++-backend ** CRITICAL **: file orbit-idl-driver.c: line 50 (orbit_idl_to_backend): asserti ** WARNING **: ./CosNaming.idl compilation failed sed -e 's/#include \CosNaming.h\/#include \ORBitservices/CosNaming.h\/' Co sed: can't read CosNaming-cpp-common.hh: No such file or directory make[2]: *** [CosNaming.cc] Error 2 make[2]: Leaving directory `/usr/local/orbitcpp-0.30/services/name' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/orbitcpp-0.30/services' make: *** [all-recursive] Error 1r ---------------------------------------------------------------------- Comment By: Sam Couter (eddiesam) Date: 2001-12-07 22:35 Message: Logged In: YES user_id=14486 I need more information to work this one out. I can't reproduce it, and since it was submitted anonymously, I will close it if I do not receive more information. I need to know if this still happens with 0.30.2, and what versions of ORBit and glib are installed, as well as what compilation options were used. ---------------------------------------------------------------------- Comment By: Francesco Lamonica (franci) Date: 2001-10-25 06:54 Message: Logged In: YES user_id=1349 have u stripped the Orbit libs? that was causing a similar error on my box (slack 8 with gcc 2.95.3) ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2001-06-30 07:54 Message: Logged In: NO btw: running Slackware 7.1 Kernel 2.4.5 gcc 2.95.3 ORBit 0.5.8 (get same errs with other packages, so it's prob me!!) ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2001-06-30 07:53 Message: Logged In: NO btw: running Slackware 7.1 Kernel 2.4.5 gcc 2.95.3 ORBit 0.5.8 (get same errs with other packages, so it's prob me!!) ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=437571&group_id=646 |
From: <bb...@ya...> - 2002-01-20 03:17:44
|
Folks, Attached are some patches to make the skel output of orbitcpp legal ISO C++. See bug report 503269 on the orbitcpp page at sourceforge. I've tested the patches under gcc-3.0.2. All tests pass. The main change affects the production of skel code (pass_skels.cc) and minor alterations to orbitcpp_smartptr.hh to make copy constructors sane for out types. Other minor necessary changes are made to client.cc and server.cc under test/everything so they compile. All tests passed successfully. Can someone please verify that these changes are OK, and check them in. Thanks, Rich -- More info about what changed For out arguments, implied construction was used with non-const reference passing to servant methods. Implied construction creates temporary objects which can only be passed though const references. The patch constructs local objects in the skel code to allow the arguments to be passed through non-const reference. The exception is arrays of fixed length type which are passed as pointers so construction is neither necessary nor possible. Copy constructors in some of the smart pointer types needed to be changed for the same reason. client and server changes were just to make cout and endl visible in the local namespace. http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: Joe Y. <jw...@di...> - 2002-01-17 13:17:11
|
> While trying to get the ORBit2 cpp branch (see link below) working with > some example code, I'm getting a > cstddef: No such file or directory > error. This file is part of gcc, so I'm hoping that somebody can > suggest why it's not being found. > > make[3]: Entering directory `/home/murrayc/bonoboui2-hello-cpp/src' > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. > hello.c > In file included from > /gnome/head/INSTALL/include/orbit-2.0/orbit/orb-cpp/orbitcpp.hh:42, > from corba/Bonobo-cpp-common.hh:11, > from corba/Bonobo-cpp.hh:6, > from hello.c:36: > /gnome/head/INSTALL/include/orbit-2.0/orbit/orb-cpp/orbitcpp_sequence.hh:32:19: cstddef: No such file or directory > The problem is that you're compiling a C source file, so the libstdc++ headers aren't being implicitly -I'd in. You need to explicitly set the language to c++ by adding "-x c++" to CFLAGS. cheers, -- Joe Yandle http://www.divisionbyzero.com/jwy/pubkey.asc If video games really affected kids, then we'd all be running around in dark rooms, munching on pills, and listening to electronic music. |
From: <bb...@ya...> - 2002-01-15 10:52:01
|
I submitted bug 503269 earlier this week. I'm now working on a fix for it. I've gotten half way but need some help from folks that know the code better than me. Basically in some cases it is necessary to construct an object (eg. _out) to pass to the skel implementation (see the bug report for why). I'll take an (abbreviated) example of a generated skel from test/everything/generated/everthing-cpp-skel.cc (orbitcpp-0.30.2) LongArray_slice *POA_BasicServer::_skel_opLongArray( ::PortableServer_Servant _servant, const LongArray inArg, LongArray inoutArg, LongArray outArg, ::CORBA_Environment *_ev){ ... retval = _self->opLongArray( reinterpret_cast< const ::LongArray_slice *&>(inArg), reinterpret_cast< ::LongArray_slice *&>(inoutArg), reinterpret_cast< ::LongArray_slice *&>(outArg) ); ... } _self points to an object of type POA_test::BasicServer - the servant implementation type. When generating this skel code (ie. in IDLPassSkels::doOperationSkel() ) how can I get strings which define the types expected for each argument of POA_test::BasicServer::opLongArray() ? The code I need to generate would look something like { TypeOfArg1 paramWraper1( reinterpret_cast< const ::LongArray_slice *&>(inArg) ); TypeOfArg2 paramWrapper2( reinterpret_cast< ::LongArray_slice *&>(inoutArg) ); TypeOfArg3 paramWrapper3( reinterpret_cast< ::LongArray_slice *&>(outArg) ) ); ... _self->opLongArray( paramWrapper1, paramWrapper2, paramWrapper3 ); } I need to know what to substitute for TypeOfArgX above. In this case I would need (see everything-cpp-skel.hh) const ::test:LongArray paramWrapper1( . ); ::test:LongArray paramWrapper2( . ); ::test:LongArray_out paramWrapper3( . ); -- TIA Rich http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: <no...@so...> - 2002-01-14 11:01:56
|
Bugs item #503269, was opened at 2002-01-14 03:01 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=503269&group_id=646 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Richard Andrews (bbmaj7) Assigned to: Nobody/Anonymous (nobody) Summary: generate skel code not legal C++ Initial Comment: Let me present an example of what currently occurs. This is a skel generated from the everything test test_VariableLengthStruct * _skel_opVariable( ::PortableServer_Servant _servant, const test_VariableLengthStruct * inArg, test_VariableLengthStruct *inoutArg, test_VariableLengthStruct **outArg, ::CORBA_Environment *_ev) { ::test::VariableLengthStruct *_retval = NULL; bool _results_valid = true; try { POA_test::StructServer * _self = ((_orbitcpp_Servant *)_servant)->m_cppimpl; _retval = _self->opVariable( reinterpret_cast< const VariableLengthStruct&>(*inArg), reinterpret_cast< VariableLengthStruct&>(*inoutArg), reinterpret_cast< VariableLengthStruct*&>(*outArg) ); } I have removed namespace qualifications for clarity. Now what happens here is that _self->opVariable expects a Data_out<VariableLengthStruct> & (non-const ref) as argument 3. Under C++ implied construction rules this is no problem because Data_out<...> has a constructor from VariableLengthStruct*&. BUT... and here's the big problem. This constructor creates a temporary object which is passed as a reference through parameter 3, however only const-references to temporaries may be passed in standard C++ (as is now enforced in gcc3). The only legal way to get around this problem is to construct a wrapper object before the call, then pass this as the non-const reference. Eg. try { POA_test::StructServer * _self = ((_orbitcpp_Servant *)_servant)->m_cppimpl; Data_out< VariableLengthStruct> wrapper3( reinterpret_cast< VariableLengthStruct*&>(*outArg) ); _retval = _self->opVariable( reinterpret_cast< const VariableLengthStruct&>(*inArg), reinterpret_cast< VariableLengthStruct&>(*inoutArg), wrapper3); } In this case because wrapper3 is not a temporary it can be passed through a non-const reference as is required for argument 3 of opVariable(). In general the skeleton code for invoking operations needs to be modified so that for each argument to the servant implementation that is passed by non-const reference, a temporary is constructed and passed. I've been having a look at the code. The main areas of interest are IDLPassSkels::doOperationSkel() IDL_X_X_X_::getCPPSkelParameterTerm() -- I put in a kludge in orbitcpp_smrtptr.hh about a year ago using const_cast<>() to get around this problem but it is no longer sufficient. The problem needs to be fixed at the source which is the generated skel code. I'm willing to put some time into fixing this if someone familiar with this code can help me out. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100646&aid=503269&group_id=646 |
From: <mu...@t-...> - 2002-01-06 16:42:47
|
Sam, I have applied your patches, though I needed to swap a ] and ) around in your conditional compilation patch, and add some #include <string.h> lines for your C++ ORB patch. I really think that you should get cvs write access and commit stuff directly. Unfortunately, this seems to have made things worse: [root@localhost ORBit2]# cd test [root@localhost test]# orbit-idl-2 -lc++ empty.idl orbit-idl 2.3.101 compiling small mode, show preprocessor errors, passes: stubs skels common headers skel_impl imodule (process:19818): ** CRITICAL **: file orbit-idl-driver.c: line 50 (orbit_idl_to_backend): assertion `binfo && binfo->op_output' failed (process:19818): ** WARNING **: empty.idl compilation failed [root@localhost test]# By the way, can you tell me something about this 'C++ ORB'. Why do we need a separate ORB? I thought that Orbit/C++ just provided C++ stubs/skels which in turn used the C stubs/skels. Please forgive my ignorance. On Sat, 2002-01-05 at 11:25, Sam Couter wrote: > Sam Couter <sa...@to...> wrote: > > 2) Actually getting the C++ ORB to compile at all. No guarantees about > > the code actually being useful. :) > > Okay, the attached patch will make the C++ ORB build, but it won't be a > useful ORB. Some of the internals have changed a fair bit, so the few > problems I couldn't solve quickly got #if 0'd out of existence. Getting > it to build is the first step towards making it work. > -- > Sam "Eddie" Couter | mailto:sa...@to... | I need a short and > Internet Engineer | jabber:edd...@ja... | clever comment for > tSA Consulting | http://www.topic.com.au/ | my .signature file > OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C > ---- > > ? orb_cpp.diff > ? test/test-mem > Index: include/orbit/orb-core/corba-orb.h > =================================================================== > RCS file: /cvs/gnome/ORBit2/include/orbit/orb-core/corba-orb.h,v > retrieving revision 1.11 > diff -u -r1.11 corba-orb.h > --- include/orbit/orb-core/corba-orb.h 2001/11/21 10:46:18 1.11 > +++ include/orbit/orb-core/corba-orb.h 2002/01/05 10:20:57 > @@ -21,6 +21,8 @@ > > void ORBit_ORB_start_servers (CORBA_ORB orb); > > +CORBA_TypeCode CORBA_TypeCode_allocate(void); > + > #endif /* ORBIT2_INTERNAL_API */ > > #endif > Index: include/orbit/orb-core/corba-typecode.h > =================================================================== > RCS file: /cvs/gnome/ORBit2/include/orbit/orb-core/corba-typecode.h,v > retrieving revision 1.13 > diff -u -r1.13 corba-typecode.h > --- include/orbit/orb-core/corba-typecode.h 2001/11/26 01:42:14 1.13 > +++ include/orbit/orb-core/corba-typecode.h 2002/01/05 10:20:57 > @@ -4,6 +4,8 @@ > #include <orbit/orb-core/corba-typecode-type.h> > #include <orbit/orb-core/corba-any-type.h> > #include <orbit/orb-core/orbit-object.h> > +#include <orbit/orb-core/orb-types.h> > +#include <orbit/GIOP/giop-basics.h> > > #define CORBA_tk_recursive -1 > #define CORBA_tk_last (CORBA_tk_abstract_interface + 1) > Index: src/Makefile.am > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/Makefile.am,v > retrieving revision 1.4 > diff -u -r1.4 Makefile.am > --- src/Makefile.am 2000/11/17 01:15:44 1.4 > +++ src/Makefile.am 2002/01/05 10:20:57 > @@ -1,2 +1 @@ > -SUBDIRS=idl-compiler idl orb services > - > +SUBDIRS=idl-compiler idl orb orb-cpp services > Index: src/orb/orb-core/corba-orb.c > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb/orb-core/corba-orb.c,v > retrieving revision 1.47 > diff -u -r1.47 corba-orb.c > --- src/orb/orb-core/corba-orb.c 2001/12/05 13:58:13 1.47 > +++ src/orb/orb-core/corba-orb.c 2002/01/05 10:21:00 > @@ -378,7 +378,7 @@ > return ORBit_RootObject_duplicate (objref); > } > > -static CORBA_TypeCode > +CORBA_TypeCode > CORBA_TypeCode_allocate (void) > { > CORBA_TypeCode tc = g_new0 (struct CORBA_TypeCode_struct, 1); > Index: src/orb-cpp/Makefile.am > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/Makefile.am,v > retrieving revision 1.1.2.2 > diff -u -r1.1.2.2 Makefile.am > --- src/orb-cpp/Makefile.am 2001/12/11 09:39:14 1.1.2.2 > +++ src/orb-cpp/Makefile.am 2002/01/05 10:21:00 > @@ -1,7 +1,12 @@ > -## Process this file with automake to produce Makefile.in > - > lib_LTLIBRARIES = liborbitcpp.la > > +INCLUDES = \ > + -I. \ > + -I$(top_srcdir)/include \ > + -DORBIT2_INTERNAL_API \ > + $(WARN_CFLAGS) \ > + $(ORBIT_CFLAGS) > + > liborbitcppincludedir = $(includedir)/orb > > liborbitcppinclude_HEADERS = \ > @@ -33,5 +38,5 @@ > orbitcpp_typecode.cc > $(liborbitcppinclude_HEADERS) > > -liborbitcpp_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) > +liborbitcpp_la_LDFLAGS = -version-info $(LT_VERSION) > liborbitcpp_la_LIBADD = $(ORBIT_LIBS) -lstdc++ > Index: src/orb-cpp/orbitcpp.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp.hh > --- src/orb-cpp/orbitcpp.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp.hh 2002/01/05 10:21:00 > @@ -32,19 +32,19 @@ > > > > -#include <orb/orbitcpp_constants.hh> > -#include <orb/orbitcpp_types.hh> > -#include <orb/orbitcpp_smartptr.hh> > -#include <orb/orbitcpp_tools.hh> > -#include <orb/orbitcpp_exception.hh> > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_orb.hh> > -#include <orb/orbitcpp_sequence.hh> > -#include <orb/orbitcpp_poa.hh> > -#include <orb/orbitcpp_any.hh> > +#include "orbitcpp_constants.hh" > +#include "orbitcpp_types.hh" > +#include "orbitcpp_smartptr.hh" > +#include "orbitcpp_tools.hh" > +#include "orbitcpp_exception.hh" > +#include "orbitcpp_object.hh" > +#include "orbitcpp_orb.hh" > +#include "orbitcpp_sequence.hh" > +#include "orbitcpp_poa.hh" > +#include "orbitcpp_any.hh" > > // hopefully this will be removed when the object_var stuff gets > // sorted out. - PD > -#include <orb/orbitcpp_var_smartptr.hh> > +#include "orbitcpp_var_smartptr.hh" > > #endif > Index: src/orb-cpp/orbitcpp_any.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_any.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_any.cc > --- src/orb-cpp/orbitcpp_any.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_any.cc 2002/01/05 10:21:00 > @@ -24,20 +24,24 @@ > * Description: CORBA Any implementation > */ > #include <cwchar> > -#include <orb/orbit.h> > -#include <orb/orbitcpp.hh> > +#include <orbit/orbit.h> > +#include "orbitcpp.hh" > #include "orbitcpp_any.hh" > > > /* ORBit_demarshal_allocate_mem cut & paste - this should ideally be > global */ > > +/* FIXME: This is sure to be broken for ORBit2. */ > static gpointer > ORBit_demarshal_allocate_mem(CORBA_TypeCode tc, gint nelements) > { > - size_t block_size; > gpointer retval = NULL; > > + /* And it seems to be quite broken. */ > +#if 0 > + size_t block_size; > + > if(!nelements) return retval; > > block_size = ORBit_gather_alloc_info(tc); > @@ -50,6 +54,7 @@ > > *(CORBA_TypeCode *)((char *)retval-sizeof(ORBit_mem_info)-sizeof(CORBA_TypeCode)) = (CORBA_TypeCode)CORBA_Object_duplicate((CORBA_Object)tc, NULL); > } > +#endif > > return retval; > } > Index: src/orb-cpp/orbitcpp_any.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_any.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_any.hh > --- src/orb-cpp/orbitcpp_any.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_any.hh 2002/01/05 10:21:00 > @@ -27,12 +27,11 @@ > #define __ORBITCPP_ANY_HH > > #include <cstdlib> > -#include <orb/orbit.h> > -#include <orb/orbitcpp_types.hh> > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_exception.hh> > -//#include <orb/corba_typecode.h> > -#include <orb/orbitcpp_typecode.hh> > +#include <orbit/orbit.h> > +#include "orbitcpp_types.hh" > +#include "orbitcpp_object.hh" > +#include "orbitcpp_exception.hh" > +#include "orbitcpp_typecode.hh" > > namespace CORBA { > class Any; > Index: src/orb-cpp/orbitcpp_exception.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_exception.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_exception.cc > --- src/orb-cpp/orbitcpp_exception.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_exception.cc 2002/01/05 10:21:00 > @@ -27,7 +27,7 @@ > > > > -#include <orb/orbitcpp_exception.hh> > +#include "orbitcpp_exception.hh" > > > > @@ -69,7 +69,7 @@ > const char *repo_id = CORBA_exception_id(&m_env); > > #define P(name,quotedrepoid) ORBITCPP_SYSEX_THROW_O_MATIC(name,quotedrepoid) > - #include <orb/orbitcpp_exceptionlist.hh> > + #include "orbitcpp_exceptionlist.hh" > #undef P > > CORBA_exception_free(&m_env); > Index: src/orb-cpp/orbitcpp_exception.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_exception.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_exception.hh > --- src/orb-cpp/orbitcpp_exception.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_exception.hh 2002/01/05 10:21:01 > @@ -33,8 +33,8 @@ > > > > -#include <orb/orbitcpp_types.hh> > -#include <orb/orbitcpp_tools.hh> > +#include "orbitcpp_types.hh" > +#include "orbitcpp_tools.hh" > > > > @@ -160,7 +160,7 @@ > }; > > #define P(name,quotedname) ORBITCPP_SYSEXCEPTION_FACTORY(name,quotedname) > - #include <orb/orbitcpp_exceptionlist.hh> > + #include "orbitcpp_exceptionlist.hh" > #undef P > > class UserException : public Exception { > Index: src/orb-cpp/orbitcpp_object.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_object.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_object.cc > --- src/orb-cpp/orbitcpp_object.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_object.cc 2002/01/05 10:21:01 > @@ -27,8 +27,8 @@ > > > > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_exception.hh> > +#include "orbitcpp_object.hh" > +#include "orbitcpp_exception.hh" > > > > Index: src/orb-cpp/orbitcpp_object.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_object.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_object.hh > --- src/orb-cpp/orbitcpp_object.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_object.hh 2002/01/05 10:21:01 > @@ -29,9 +29,9 @@ > > > > -#include <orb/orbitcpp_types.hh> > -#include <orb/orbitcpp_tools.hh> > -#include <orb/orbitcpp_smartptr.hh> > +#include "orbitcpp_types.hh" > +#include "orbitcpp_tools.hh" > +#include "orbitcpp_smartptr.hh" > > > > @@ -61,7 +61,7 @@ > friend void release(Object_ptr o); > > protected: > - CORBA_Object_struct m_target; > + CORBA_Object_type m_target; > > public: > // begin ORBit-C++ extension > Index: src/orb-cpp/orbitcpp_orb.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_orb.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_orb.cc > --- src/orb-cpp/orbitcpp_orb.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_orb.cc 2002/01/05 10:21:01 > @@ -27,9 +27,9 @@ > > > #include <iostream> > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_orb.hh> > -#include <orb/orbitcpp_exception.hh> > +#include "orbitcpp_object.hh" > +#include "orbitcpp_orb.hh" > +#include "orbitcpp_exception.hh" > > > > Index: src/orb-cpp/orbitcpp_orb.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_orb.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_orb.hh > --- src/orb-cpp/orbitcpp_orb.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_orb.hh 2002/01/05 10:21:01 > @@ -32,7 +32,7 @@ > > > > -#include <orb/orbitcpp_object.hh> > +#include "orbitcpp_object.hh" > > namespace CORBA { > CORBA::ORB_ptr ORB_init(int& argc, char** argv, > Index: src/orb-cpp/orbitcpp_poa.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_poa.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_poa.cc > --- src/orb-cpp/orbitcpp_poa.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_poa.cc 2002/01/05 10:21:04 > @@ -27,7 +27,7 @@ > > > > -#include <orb/orbitcpp_poa.hh> > +#include "orbitcpp_poa.hh" > > > > Index: src/orb-cpp/orbitcpp_poa.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_poa.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_poa.hh > --- src/orb-cpp/orbitcpp_poa.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_poa.hh 2002/01/05 10:21:04 > @@ -34,19 +34,18 @@ > > > > -#include <orb/orbitcpp_smartptr.hh> > -#include <orb/orbitcpp_orb.hh> > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_exception.hh> > -#include <orb/orbitcpp_sequence.hh> > +#include "orbitcpp_smartptr.hh" > +#include "orbitcpp_orb.hh" > +#include "orbitcpp_object.hh" > +#include "orbitcpp_exception.hh" > +#include "orbitcpp_sequence.hh" > > > > - > namespace PortableServer { > ORBITCPP_DECLARE_SIMPLE_SEQUENCE(CORBA::Octet, > - CORBA_sequence_octet__alloc, > - CORBA_octet_allocbuf, > + CORBA_sequence_CORBA_octet__alloc, > + CORBA_sequence_CORBA_octet_allocbuf, > PortableServer_ObjectId, > ObjectId) > > Index: src/orb-cpp/orbitcpp_sequence.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_sequence.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_sequence.hh > --- src/orb-cpp/orbitcpp_sequence.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_sequence.hh 2002/01/05 10:21:04 > @@ -31,7 +31,8 @@ > > #include <cstddef> > #include <cassert> > -#include <orb/orbitcpp_smartptr.hh> > +#include "orbitcpp_smartptr.hh" > +#include <orbit/orb-core/orb-core.h> > > > > Index: src/orb-cpp/orbitcpp_smartptr.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_smartptr.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_smartptr.hh > --- src/orb-cpp/orbitcpp_smartptr.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_smartptr.hh 2002/01/05 10:21:04 > @@ -33,8 +33,8 @@ > > > > -#include <orb/orbitcpp_types.hh> > -#include <orb/orbitcpp_tools.hh> > +#include "orbitcpp_types.hh" > +#include "orbitcpp_tools.hh" > > namespace CORBA { > class Object; > Index: src/orb-cpp/orbitcpp_tools.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_tools.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_tools.cc > --- src/orb-cpp/orbitcpp_tools.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_tools.cc 2002/01/05 10:21:06 > @@ -30,8 +30,9 @@ > > #include <cstdio> > #include <cstdlib> > -#include <orb/orbitcpp_tools.hh> > -#include <orb/orbitcpp_exception.hh> > +#include "orbitcpp_tools.hh" > +#include "orbitcpp_exception.hh" > +#include <orbit/orb-core/corba-orb.h> > > > > @@ -64,10 +65,7 @@ > } > > CORBA_TypeCode _orbitcpp::TypeCode_allocate() { > - CORBA_TypeCode tc = g_new0(struct CORBA_TypeCode_struct,1); > - CEnvironment ev; > - ORBit_pseudo_object_init(&tc->parent,ORBIT_PSEUDO_TYPECODE,ev); > - ev.propagate_sysex(); > + CORBA_TypeCode tc = CORBA_TypeCode_allocate(); > return tc; > } > > Index: src/orb-cpp/orbitcpp_tools.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_tools.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_tools.hh > --- src/orb-cpp/orbitcpp_tools.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_tools.hh 2002/01/05 10:21:06 > @@ -30,10 +30,10 @@ > #define __ORBITCPP_TOOLS_HH > > > -#include <orb/orbit.h> > +#include <orbit/orbit.h> > > -#include <orb/orbitcpp_config.hh> > -#include <orb/orbitcpp_types.hh> > +#include "orbitcpp_config.hh" > +#include "orbitcpp_types.hh" > > > > Index: src/orb-cpp/orbitcpp_typecode.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_typecode.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_typecode.cc > --- src/orb-cpp/orbitcpp_typecode.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_typecode.cc 2002/01/05 10:21:06 > @@ -22,53 +22,59 @@ > * Author: Sam Couter <sa...@to...> > */ > > -#include <orb/orbitcpp_typecode.hh> > -#include <orb/orbitcpp_exception.hh> > +#include "orbitcpp_typecode.hh" > +#include "orbitcpp_exception.hh" > +#include <orbit/orb-core/corba-typecode.h> > > + > using namespace _orbitcpp; > > + > CORBA::TypeCode_ptr CORBA::_tc_null = > reinterpret_cast <CORBA::TypeCode_ptr> (TC_null); > CORBA::TypeCode_ptr CORBA::_tc_void = > reinterpret_cast <CORBA::TypeCode_ptr> (TC_void); > CORBA::TypeCode_ptr CORBA::_tc_short = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_short); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_short); > CORBA::TypeCode_ptr CORBA::_tc_long = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_long); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_long); > CORBA::TypeCode_ptr CORBA::_tc_longlong = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_longlong); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_long_long); > CORBA::TypeCode_ptr CORBA::_tc_ushort = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_ushort); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_unsigned_short); > CORBA::TypeCode_ptr CORBA::_tc_ulong = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_ulong); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_unsigned_long); > CORBA::TypeCode_ptr CORBA::_tc_ulonglong = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_ulonglong); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_unsigned_long_long); > CORBA::TypeCode_ptr CORBA::_tc_float = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_float); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_float); > CORBA::TypeCode_ptr CORBA::_tc_double = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_double); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_double); > CORBA::TypeCode_ptr CORBA::_tc_longdouble = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_longdouble); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_long_double); > CORBA::TypeCode_ptr CORBA::_tc_boolean = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_boolean); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_boolean); > CORBA::TypeCode_ptr CORBA::_tc_char = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_char); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_char); > CORBA::TypeCode_ptr CORBA::_tc_wchar = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_wchar); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_wchar); > CORBA::TypeCode_ptr CORBA::_tc_octet = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_octet); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_octet); > CORBA::TypeCode_ptr CORBA::_tc_any = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_any); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_any); > CORBA::TypeCode_ptr CORBA::_tc_TypeCode = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_TypeCode); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_TypeCode); > +/* There doesn't seem to be a TypeCode defined for CORBA_Principal yet... */ > +#if 0 > CORBA::TypeCode_ptr CORBA::_tc_Principal = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_Principal); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_Principal); > +#endif > CORBA::TypeCode_ptr CORBA::_tc_Object = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_Object); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_Object); > CORBA::TypeCode_ptr CORBA::_tc_string = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_string); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_string); > CORBA::TypeCode_ptr CORBA::_tc_wstring = > - reinterpret_cast <CORBA::TypeCode_ptr> (TC_wstring); > + reinterpret_cast <CORBA::TypeCode_ptr> (TC_CORBA_wstring); > > CORBA::Boolean > CORBA::TypeCode::equal(TypeCode_ptr tc) const > @@ -290,7 +296,7 @@ > CORBA::ValueModifier > CORBA::TypeCode::type_modifier() const > { > - CORBA::ValueModifier retval; > + CORBA::ValueModifier retval = 0; > CEnvironment ev; > > /* not implemented by ORBit */ > Index: src/orb-cpp/orbitcpp_typecode.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_typecode.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_typecode.hh > --- src/orb-cpp/orbitcpp_typecode.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_typecode.hh 2002/01/05 10:21:06 > @@ -25,10 +25,10 @@ > #ifndef __ORBITCPP_TYPECODE_HH > #define __ORBITCPP_TYPECODE_HH > > -#include <orb/corba_typecode.h> > -#include <orb/orbitcpp_object.hh> > -#include <orb/orbitcpp_exception.hh> > -#include <orb/orbitcpp_sequence.hh> > +#include <orbit/orb-core/corba-typecode.h> > +#include "orbitcpp_object.hh" > +#include "orbitcpp_exception.hh" > +#include "orbitcpp_sequence.hh" > > namespace CORBA { > > Index: src/orb-cpp/orbitcpp_types.cc > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_types.cc,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_types.cc > --- src/orb-cpp/orbitcpp_types.cc 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_types.cc 2002/01/05 10:21:06 > @@ -26,7 +26,7 @@ > > > > -#include <orb/orbitcpp_types.hh> > +#include "orbitcpp_types.hh" > > > > Index: src/orb-cpp/orbitcpp_types.hh > =================================================================== > RCS file: /cvs/gnome/ORBit2/src/orb-cpp/Attic/orbitcpp_types.hh,v > retrieving revision 1.1.2.1 > diff -u -r1.1.2.1 orbitcpp_types.hh > --- src/orb-cpp/orbitcpp_types.hh 2001/12/11 07:59:42 1.1.2.1 > +++ src/orb-cpp/orbitcpp_types.hh 2002/01/05 10:21:06 > @@ -27,7 +27,7 @@ > #ifndef __ORBITCPP_BASICTYPES_HH > #define __ORBITCPP_BASICTYPES_HH > > -#include <orb/orbit.h> > +#include <orbit/orbit.h> > > > -- Murray Cumming mu...@us... www.murrayc.com |
From: <mu...@t-...> - 2002-01-05 10:48:10
|
On Sat, 2002-01-05 at 06:06, Sam Couter wrote: > Michael Meeks <mi...@xi...> wrote: > > > > When I last tried this invocation produces just empty files; so > > ... something is bust somewhere, I was hoping Sam would find what it was. > > Either way, any fixes there would be greatly appreciated; feel free to > > commit any fixes, and send a patch here as you do. > > I found the cause of this problem: The C++ backend doesn't know how to > handle the IDLN_SRCFILE IDL type, hence the error about something being > unexpected. The error would be slightly more helpful if the C++ backend > also knew how to get the correct type name for a node from libIDL. I've already fixed this problem. Maybe you could revise your patch. -- Murray Cumming mu...@us... www.murrayc.com |
From: Sam C. <sa...@to...> - 2002-01-05 10:25:53
|
Sam Couter <sa...@to...> wrote: > 2) Actually getting the C++ ORB to compile at all. No guarantees about > the code actually being useful. :) Okay, the attached patch will make the C++ ORB build, but it won't be a useful ORB. Some of the internals have changed a fair bit, so the few problems I couldn't solve quickly got #if 0'd out of existence. Getting it to build is the first step towards making it work. -- Sam "Eddie" Couter | mailto:sa...@to... | I need a short and Internet Engineer | jabber:edd...@ja... | clever comment for tSA Consulting | http://www.topic.com.au/ | my .signature file OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: Sam C. <sa...@to...> - 2002-01-05 06:41:35
|
[ Sorry for the reply to my own message ] Sam Couter <sa...@to...> wrote: > 1) Conditional compilation of the C++ compiler and ORB. This is pretty > simple, and just needs tidying up. Patch is attached. -- Sam "Eddie" Couter | mailto:sa...@to... | I need a short and Internet Engineer | jabber:edd...@ja... | clever comment for tSA Consulting | http://www.topic.com.au/ | my .signature file OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: Sam C. <sa...@to...> - 2002-01-05 05:07:00
|
Michael Meeks <mi...@xi...> wrote: > > When I last tried this invocation produces just empty files; so > ... something is bust somewhere, I was hoping Sam would find what it was. > Either way, any fixes there would be greatly appreciated; feel free to > commit any fixes, and send a patch here as you do. I found the cause of this problem: The C++ backend doesn't know how to handle the IDLN_SRCFILE IDL type, hence the error about something being unexpected. The error would be slightly more helpful if the C++ backend also knew how to get the correct type name for a node from libIDL. Anyway, I'll attach a patch to fix this particular problem, as well as fixing the way the backend grabs the node type name, so error messages will be more meaningful. When (if?) the backend is re-written in C, maybe it should be made intelligent enough to warn about IDL types it doesn't know about, rather than bombing out? Or could that just hide problems further down the track? In the mean time, I'm working on two things: 1) Conditional compilation of the C++ compiler and ORB. This is pretty simple, and just needs tidying up. 2) Actually getting the C++ ORB to compile at all. No guarantees about the code actually being useful. :) -- Sam "Eddie" Couter | mailto:sa...@to... | I need a short and Internet Engineer | jabber:edd...@ja... | clever comment for tSA Consulting | http://www.topic.com.au/ | my .signature file OpenPGP fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: <no...@so...> - 2002-01-04 01:00:38
|
Patches item #498857, was opened at 2002-01-02 23:10 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498857&group_id=646 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Braden McDaniel (braden) >Assigned to: Sam Couter (eddiesam) Summary: Love orbitcpp_constants.hh Initial Comment: This patch does the following for/to "orbitcpp_constants.hh": * Uses preprocessor definitions (defined in configure) for the version numbers, which allows "orbitcpp_constants.hh" be a regular header instead of being generated by configure. This means that the file doesn't get touched every time config.status is run, which in turn means that there are some things that nolonger get rebuilt unnecessarily. * The contents of "orbitcpp_constants.hh" are all in a private namespace, so there's no need for it to be a public header. Thus, it is moved to the "noinst_HEADERS" variable in the Makefile.am so that it will not be installed. "orbitcpp_constants.patch" contains the unified diffs for the modified files. "orbitcpp_constants.hh" is a new file that should be placed in the "orb" subdirectory. This patch obsoletes the file "orb/orbitcpp_constants.hh.in". ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498857&group_id=646 |
From: <no...@so...> - 2002-01-03 07:10:32
|
Patches item #498857, was opened at 2002-01-02 23:10 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498857&group_id=646 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Braden McDaniel (braden) Assigned to: Nobody/Anonymous (nobody) Summary: Love orbitcpp_constants.hh Initial Comment: This patch does the following for/to "orbitcpp_constants.hh": * Uses preprocessor definitions (defined in configure) for the version numbers, which allows "orbitcpp_constants.hh" be a regular header instead of being generated by configure. This means that the file doesn't get touched every time config.status is run, which in turn means that there are some things that nolonger get rebuilt unnecessarily. * The contents of "orbitcpp_constants.hh" are all in a private namespace, so there's no need for it to be a public header. Thus, it is moved to the "noinst_HEADERS" variable in the Makefile.am so that it will not be installed. "orbitcpp_constants.patch" contains the unified diffs for the modified files. "orbitcpp_constants.hh" is a new file that should be placed in the "orb" subdirectory. This patch obsoletes the file "orb/orbitcpp_constants.hh.in". ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498857&group_id=646 |
From: <no...@so...> - 2002-01-02 07:08:18
|
Patches item #498431, was opened at 2002-01-01 21:10 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498431&group_id=646 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Braden McDaniel (braden) >Assigned to: Sam Couter (eddiesam) >Summary: Remove "disable-debug" configure arg Initial Comment: This patch removes the "disable-debug" arg from configure. This is actually something that should have been included in my previous patch, but I overlooked it. Users who want compiler flags other than the default ("-g -O2") can provide them by setting CXXFLAGS and CFLAGS at configure time, so this option isn't necessary. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498431&group_id=646 |
From: <no...@so...> - 2002-01-02 05:10:28
|
Patches item #498431, was opened at 2002-01-01 21:10 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498431&group_id=646 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Braden McDaniel (braden) Assigned to: Nobody/Anonymous (nobody) Summary: Remove "disable-debug" configure arg Initial Comment: This patch removes the "disable-debug" arg from configure. This is actually something that should have been included in my previous patch, but I overlooked it. Users who want compiler flags other than the default ("-g -O2") can provide them by setting CXXFLAGS and CFLAGS at configure time, so this option isn't necessary. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=300646&aid=498431&group_id=646 |