Re: [sigc] Re: [Bug 147391] - test_lambda does not compile with SUN Forte 5.5
- From: Martin Schulze <martin-ml hippogriff de>
- To: Damien Carbery <Damien Carbery Sun COM>
- Cc: libsigc-list gnome org
- Subject: Re: [sigc] Re: [Bug 147391] - test_lambda does not compile with SUN Forte 5.5
- Date: Fri, 13 Aug 2004 23:07:15 +0200
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
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]