Wow, I think you got it. make log attached. ----- Original Message ----- From: Martin Schulze <martin-ml hippogriff de> Date: Friday, August 13, 2004 10:07 pm Subject: Re: [sigc] Re: [Bug 147391] - test_lambda does not compile with SUN Forte 5.5 > Hi Damien! > > Sorry for the break - Now I have time to look at this error. > Obviously > it occurs in the compatibility module, the reason being that the > FORTE > does not handle the "const" keyword correctly when building a slot > from > a const member method. > > However, the implementation causing the error does not differ from > libsigc++-1.2's so most likely slots referring to const member > methods > didn't work with the FORTE before. Therefore, the compatibility > module > doesn't need to solve this non-trivial problem. > > Instead, I will remove the const member method test from > test_compatibility.cc and upload to: > > http://www.hippogriff.de/libsigc++-2.0.4-test5.tar.gz > > Please try this one! > > Regards, > > Martin > > > Am 11.08.2004 11:03:08 schrieb(en) Damien Carbery: > > /sgnome/tools/sparc-solaris/forte/SOS8/SUNWspro/bin/CC -I. -I. -I.. > > -I.. -I.. -g -c -o test_compatibility.o test_compatibility.cc > > "../sigc++/object_slot.h", line 175: Error: Could not find a > match > > for > > sigc::bound_mem_functor1<void, foo, const std::string > > &>::bound_mem_functor1(const foo, void(foo::*)(const std::string > > &)const). > > "test_compatibility.cc", line 57: Where: While instantiating > > "SigC::slot<void, const std::string &, foo, foo>(const foo&, > > void(foo::*)(const std::string &)const)". > > "test_compatibility.cc", line 57: Where: Instantiated from > > non-template code. > > 1 Error(s) detected. > > make[2]: *** [test_compatibility.o] Error 1 > > make[2]: Leaving directory `/jds/libsigc/libsigc++-2.0.4/tests' > > > > > > FYI: I used tarball test4. > > I work with a clean directory each time, removing the old stuff > > first. > > > > Damien > > > > ----- Original Message ----- > > From: Martin Schulze <martin-ml hippogriff de> > > Date: Tuesday, August 10, 2004 6:24 pm > > Subject: Re: [sigc] Re: [Bug 147391] - test_lambda does not compile > > with SUN Forte 5.5 > > > > > Am 10.08.2004 18:09:36 schrieb(en) Damien Carbery: > > > > make failed. > > > > > > > > To be sure I have the correct tarball: > > > > $ cksum libsigc++-2.0.4-test3.tar.gz > > > > 761559274 1767826 libsigc++-2.0.4-test3.tar.gz > > > > > > The tarball is correct. I don't understand why the FORTE doesn't > > > choose > > > the template specialization: > > > > > > template <class T_type> > > > struct convert_array > > > { typedef T_type& type; }; > > > > > > template <class T_type, int N> > > > struct convert_array<T_type[N]> > > > { typedef T_type* type; }; > > > > > > [...] > > > > > > 'convert_array<const T_type>::type' (with T_type='char(&)[2]') > > > gives > > > 'const char(&)[2]' instead of 'const char*'. gcc works as > expected.> > > > > This is unnerving! Especially since glibmm uses the same trick to > > > distinguish between array types and other types. > > > > > > Probably there is a compiler bug. I will upload a tarball that has > > > the > > > offending lines in test_lambda.cc disabled so that we can move on. > > > Please try: > > > > > > libsigc++-2.0.4-test4.tar.gz > > > > > > in two hours or so. > > > > > > Regards, > > > > > > Martin > > > > > >
Attachment:
forte-aug14.tar.gz
Description: GNU Zip compressed data