[sigc] Trouble with gcc 3.4



Hello, i am using gcc-3.4.2 on amd64.
Am i the only one that gets (gcc-3.3.1 compiles cleanly):

make[2]: Entering directory `/home/maurizio/libsigc++2/tests'
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_lambda.o -MD -MP -MF 
".deps/test_lambda.Tpo" -c -o test_lambda.o test_lambda.cc; \
then mv -f ".deps/test_lambda.Tpo" ".deps/test_lambda.Po"; else rm -f 
".deps/test_lambda.Tpo"; exit 1; fi
In file included from ../sigc++/adaptors/lambda/lambda.h:26,
                 from test_lambda.cc:9:
../sigc++/adaptors/lambda/group.h:79: error: non-template `deduce_result_type' 
used as template
../sigc++/adaptors/lambda/group.h:79: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template
../sigc++/adaptors/lambda/group.h:82: error: declaration does not declare 
anything
../sigc++/adaptors/lambda/group.h:245: error: non-template 
`deduce_result_type' used as template
../sigc++/adaptors/lambda/group.h:245: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template
../sigc++/adaptors/lambda/group.h:250: error: declaration does not declare 
anything
../sigc++/adaptors/lambda/group.h:458: error: non-template 
`deduce_result_type' used as template
../sigc++/adaptors/lambda/group.h:458: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template
../sigc++/adaptors/lambda/group.h:465: error: declaration does not declare 
anything
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >,  
true>::deduce_result_type<int, int, void, void, void, void, void>':
test_lambda.cc:104:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, 
int&, void, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:104: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >,  
true>::deduce_result_type<int, int, void, void, void, void, void>':
test_lambda.cc:105:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >::deduce_result_type<int&, 
int&, void, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:105: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> > >) (int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group3<sigc::mem_functor2<int, bar, 
int, int>, sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >,  
true>::deduce_result_type<sigc::reference_wrapper<bar>, int, int, void, void, 
void, void>':
test_lambda.cc:106:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >::deduce_result_type<bar&, 
int&, int&, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:106: error: no match for call to 
`(sigc::lambda<sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> > >) 
(sigc::reference_wrapper<bar>, int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>,  
true>::deduce_result_type<int, void, void, void, void, void, void>':
test_lambda.cc:109:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>::deduce_result_type<int&, 
void, void, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:109: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int> >) (int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >,  
true>::deduce_result_type<int, int, int, void, void, void, void>':
test_lambda.cc:124:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, 
int&, int&, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:124: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group1<sigc::pointer_functor1<int, 
void>, sigc::lambda<sigc::internal::lambda_select2> >,  
true>::deduce_result_type<int, int, void, void, void, void, void>':
test_lambda.cc:125:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, 
int&, void, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:125: error: no match for call to 
`(sigc::lambda<sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >,  
true>::deduce_result_type<int, int, int, void, void, void, void>':
test_lambda.cc:128:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), sigc::lambda<sigc::lambda_group2<int 
(*)(int, int), sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >::deduce_result_type<int&, 
int&, int&, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:128: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> > >) (int, int, int)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), sigc::lambda<sigc::lambda_group2<int 
(*)(int, int), sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >]
../sigc++/adaptors/lambda/base.h: At global scope:
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>,  true>::deduce_result_type<double, 
void, void, void, void, void, void>':
test_lambda.cc:131:   instantiated from here
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>::deduce_result_type<double&, void, 
void, void, void, void, void>'
test_lambda.cc: In function `int main()':
test_lambda.cc:131: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int> >) (double)'
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [withT_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>]
make[2]: *** [test_lambda.o] Error 1
make[2]: Leaving directory `/home/maurizio/libsigc++2/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/maurizio/libsigc++2'
make: *** [all] Error 2

-- 
Best Regards
Maurizio Monge

"..the triumph of evil is for good men to do nothing." (Edmond Burke)



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