Re: [sigc] libsigc++ 1.9.13 fails on Solaris 9 sparc



On Mon, 2004-03-29 at 11:59, Damien Carbery wrote:
> I put the '.' back in so the line is:
> // Space after '.' before SIGC_WORK...
> return (typed_rep->functor_). 
> SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take>

OK, so my configure-time test wasn't working quite right, and it looks
like SIGC_WORKAROUND_OPERATOR_PARENTHESES isn't working either.

On your platform I think
LIBSIGC_TEMPLATE_PREFIX should be empty,
and
SIGC_WORKAROUND_OPERATOR_PARENTHESES should be sun_forte_workaround

These are defined in sigc++/adaptors/adaptor_trait.h. Maybe you could
check their values and hard-code them to check that it would work.

It's very difficult to do this without direct access, but I'm fairly
confident that it's possible to get this working on Sun Forte C++ 5.5.
Thanks for helping.

> Errors:
> libsigc++-1.9.15/tests> make
> source='test_slot.cc' object='test_slot.o' libtool=no \
> depfile='.deps/test_slot.Po' tmpdepfile='.deps/test_slot.TPo' \
> depmode=none /bin/bash ../depcomp \
> CC  -I. -I. -I.. -I.. -I..  -DG_HAVE_ISO_VARARGS -DG_IMPLEMENT_INLINES 
> -I/opt/gnome-2.4/include  -g -c -o test_slot.o `test -f 'test_slot.cc' 
> || echo './'`test_slot.cc
> "../sigc++/functors/slot.h", line 122: Error: Unexpected type name 
> "sigc::type_trait<int>::take" encountered.
> "../sigc++/functors/slot.h", line 123: Error: "static 
> sigc::internal::slot_call1<foo, void, 
> int>::call_it(sigc::internal::slot_rep*, const int&)" cannot return a value.
> "../sigc++/functors/slot.h", line 122: Error: Unexpected type name 
> "sigc::type_trait<char>::take" encountered.
> "../sigc++/functors/slot.h", line 123: Error: "static 
> sigc::internal::slot_call1<foo, void, 
> char>::call_it(sigc::internal::slot_rep*, const char&)" cannot return a 
> value.
> "../sigc++/functors/slot.h", line 122: Error: Unexpected type name 
> "sigc::type_trait<std::string &>::take" encountered.
> "../sigc++/functors/slot.h", line 123: Error: "static 
> sigc::internal::slot_call1<foo, void, std::string 
> &>::call_it(sigc::internal::slot_rep*, std::string &)" cannot return a 
> value.
> 6 Error(s) detected.
> make: *** [test_slot.o] Error 6
> 
> 
> Murray Cumming wrote:
> > On Mon, 2004-03-29 at 11:12, Damien Carbery wrote:
> > 
> >>I made changes to sigc++/functors/slot.h: 122 and rebuilt test_slot.cc
> >>
> >> > On that line (slot.h: 122) could you please try
> >> > a) replacing "LIBSIGC_TEMPLATE_PREFIX" there with "template"
> >>Same errors (A class template name ...)
> >>
> >> > b) removing LIBSIGC_TEMPLATE_PREFIX
> >>I removed '.LIBSIGC_TEMPLATE_PREFIX' (note that '.' removed) and got errors:
> > 
> > 
> > No, you should not remove the ".". Please try again.
> > 
> 
> 
> _______________________________________________
> libsigc-list mailing list
> libsigc-list gnome org
> http://mail.gnome.org/mailman/listinfo/libsigc-list
-- 
Murray Cumming
www.murrayc.com
murrayc murrayc com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]