[sigc] test_lambda in 2.0.5 fails to compile with gcc 3.4.2



Hi,

test_lambda in 2.0.5 fails to compile with gcc 3.4.2 on fedora 3 test2, producing the following errors:

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:
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 [with T_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 [with T_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 [with T_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 [with T_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 [with T_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 [with T_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 [with T_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 [with T_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/source/libsigc++-2.0.5/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/source/libsigc++-2.0.5'
make: *** [all] Error 2




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