|
From: Teiniker E. <ego...@tu...> - 2003-10-15 15:07:24
|
Hi all! I updated the test-loader.sh script and added src and CCM_Local sub-directories to the test/cppGenerator/* directories. After that, the following tests passes the check: - attribute.sh - supports.sh - facet.sh - receptacle.sh - attribute_basic_types.sh - supports_basic_types.sh - facet_basic_types.sh - receptacle_basic_types.sh - include.sh - include_dir.sh - module.sh - module-nested.sh There are some problems while testing home_basic_types.sh and home_factory.sh - I will fix it tomorrow... Hey Leif, what's the current status with the local C++ generator for complex types ( attribute_user_types, facet_user_types, etc.) ? :-) Egon |
|
From: Leif J. <le...@am...> - 2003-10-17 04:32:20
|
Hi Egon and company -
I'm really glad you fixed whatever was wrong with the linker versioning
stuff. It was blocking me from linking the C++ generator tests. I'm
pleased that the tests are compiling and running again !
I've been trying to run make check in the CppGenerator directory. It's
taking a while because my pooter is quite slow (and I'm also ripping /
encoding some CDs ... :-). But here are the things I've noticed so far
about the tests :
- facet, receptacle, facet_basic_types, receptacle_basic_types : Didn't
compile because my compiler complained about `assert' in
src/Hello_mirror_app.cc. I added `#include <assert>' but haven't
gotten a chance to test that it works.
- attribute_interface : Apparently my compiler (g++ 3.2) isn't happy
about functions that return an abstract base class (i.e. an
interface). My compiler barfs with the following error :
In file included from /home/leif/src/ccmtools/head/test/CppGenerator/sandbox/attribute_interface/src/Hello_app.h:9,
from /home/leif/src/ccmtools/head/test/CppGenerator/sandbox/attribute_interface/src/HelloHome_app.cc:9:
../CCM_Local_CCM_Session_Hello_share/include/CCM_Local/CCM_Session_Hello/Hello_share.h:36: error: invalid return type for member function `virtual CCM_Local::ACommon CCM_Local::CCM_Session_Hello::CCM_Hello::the_a()'
../CCM_Local_CCM_Session_Hello_share/include/CCM_Local/CCM_Session_Hello/Hello_share.h:36: error: because the following virtual functions are abstract:
../CCM_Local/include/CCM_Local/ACommon.h:30: error: virtual void CCM_Local::ACommon::set_attrib_a(long int)
../CCM_Local/include/CCM_Local/ACommon.h:31: error: virtual long int CCM_Local::ACommon::get_attrib_b()
This is a bit disconcerting ... we might have to implement IDL
interfaces in C++ using something other than an abstract base class ?
- receptacle_multiple : The %(Identifier)sConnections type definition
for multiple receptacles somehow got lost in the shuffle. I tried to
define it in the MUsesDefIncludeMultiple template as :
typedef std::vector<CCM_Local::%(UsesType)s> %(Identifier)sConnections;
but it looks like this isn't quite right. I think maybe there was a
SmartPtr<CCM_Local::%(UsesType)s> in there or something. Could you fix
this up for me ?
That's all I've got time for at the moment.
I noticed the _user_types tests didn't even generate code ; I'll work on
that tomorrow. Cheers !
leif
On Wed, 15 Oct 2003, Egon Teiniker wrote:
> Hi all!
>
> I updated the test-loader.sh script and added src and CCM_Local sub-directories
> to the test/cppGenerator/* directories.
> After that, the following tests passes the check:
> - attribute.sh
> - supports.sh
> - facet.sh
> - receptacle.sh
> - attribute_basic_types.sh
> - supports_basic_types.sh
> - facet_basic_types.sh
> - receptacle_basic_types.sh
> - include.sh
> - include_dir.sh
> - module.sh
> - module-nested.sh
> There are some problems while testing home_basic_types.sh and home_factory.sh -
> I will fix it tomorrow...
>
> Hey Leif, what's the current status with the local C++ generator for complex
> types ( attribute_user_types, facet_user_types, etc.) ?
>
> :-) Egon
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: SF.net Giveback Program.
> SourceForge.net hosts over 70,000 Open Source Projects.
> See the people who have HELPED US provide better services:
> Click here: http://sourceforge.net/supporters.php
> _______________________________________________
> ccmtools-devel mailing list
> ccm...@li...
> https://lists.sourceforge.net/lists/listinfo/ccmtools-devel
--
Leif Morgan Johnson : http://ambient.2y.net/leif/
|
|
From: Teiniker E. <ego...@tu...> - 2003-10-17 12:32:08
|
Hey Leif! Quoting Leif Johnson <le...@am...>: > But here are the things I've noticed so far > about the tests : > > - facet, receptacle, facet_basic_types, receptacle_basic_types : Didn't > compile because my compiler complained about `assert' in > src/Hello_mirror_app.cc. I added `#include <assert>' but haven't > gotten a chance to test that it works. Hmm, my compiler does not matter about it but a student of mine has had the problem and fixed it with #include<cassert> I think. > - attribute_interface : Apparently my compiler (g++ 3.2) isn't happy > about functions that return an abstract base class (i.e. an > interface). In general, C++ seemed to be an unhappy language (hey J=F6rg it's a joke ;-) We have to pass the abstract classes by reference instead by value. To handl= e the memory management we will use SmartPtr. Don't care about that problem, I will fix it in the next week. > - receptacle_multiple : The %(Identifier)sConnections type definition > for multiple receptacles somehow got lost in the shuffle. I tried to > define it in the MUsesDefIncludeMultiple template as : > > typedef std::vector<CCM_Local::%(UsesType)s> %(Identifier)sConnections= ; > > but it looks like this isn't quite right. I think maybe there was a > SmartPtr<CCM_Local::%(UsesType)s> in there or something. Could you fix > this up for me ? OK, I have added the following lines to the MUsesDefIncludeMultiple template= : #ifndef __MAPPING__%(UsesType)s__%(Identifier)s__ #define __MAPPING__%(UsesType)s__%(Identifier)s__ typedef std::map<localComponents::Cookie, CCM_Utils::SmartPtr<CCM_Local::CCM_%(UsesType)s> > %(Identifier)sConnections= ; #endif I also added a src/ subdirectory to test/CppGenerator/receptacle_multiple, t= hus the receptacle_multiple.sh test passes the check now. The problems in the home_factory.sh and home_basic_types.sh tests are also fixed. > I noticed the _user_types tests didn't even generate code ; I'll work on > that tomorrow. Excellent! As soon as the IDL user types can be generated, I will add the remote compon= ent generator stuff to bring all the code together. :-) Egon |
|
From: Robert L. <rle...@sb...> - 2003-10-18 12:42:41
|
Teiniker Egon wrote: >> - facet, receptacle, facet_basic_types, receptacle_basic_types : >> Didn't compile because my compiler complained about `assert' in >> src/Hello_mirror_app.cc. I added `#include <assert>' but haven't >> gotten a chance to test that it works. > > Hmm, my compiler does not matter about it but a student of mine has > had the problem and fixed it with #include<cassert> I think. I added #include <assert.h> to 'CCM_Utils/Debug.h'. That solved the problem. -- -- Robert Lechner, rle...@sb... -- |
|
From: Leif J. <le...@am...> - 2003-10-19 09:59:20
|
On Sat, 18 Oct 2003, Robert Lechner wrote: > Teiniker Egon wrote: > >> - facet, receptacle, facet_basic_types, receptacle_basic_types : > >> Didn't compile because my compiler complained about `assert' in > >> src/Hello_mirror_app.cc. I added `#include <assert>' but haven't > >> gotten a chance to test that it works. > > > > Hmm, my compiler does not matter about it but a student of mine has > > had the problem and fixed it with #include<cassert> I think. > > I added > > #include <assert.h> > > to 'CCM_Utils/Debug.h'. That solved the problem. Excellent. I've been adding `#include <cassert>', but on my linux box, the /usr/include/c++/3.2/cassert header file contains a single line : `#include <assert.h>'. :) I've been squashing bugs in the ccmtools this weekend ... there have been lots of simple errors generating the proper #include statements. Also, all of the user_types tests were failing because of a one-word typo---doh ! And the IDL syntax for array typedefs is quite strange, had to do a little hacking to fix that up. So on my box 20 of the 37 C++ tests pass now, and I hope to get about 10 more to pass by the end of the weekend. Looks like there are about 5 tests that barf when trying to pass an abstract base class by value, we'll have to wait for the smartpointer++ to fix those. Cheers ! leif -- Leif Morgan Johnson : http://ambient.2y.net/leif/ |