Package: libsigc++-dev Version: 1.0.4-9 Severity: important Tags: patch Attached a patch to fix class_slot.h.m4 for g++-4.0. The patch is from ardour.org. I'll NMU libsigc++ with this patch in a few days since this keeps ardour from compiling.
Robert. -- "I love Saturday morning cartoons, what classic humour! This is what entertainment is all about ... Idiots, explosives and falling anvils." -- Calvin and Hobbes, Bill Watterson
diff -u libsigc++-1.0.4/debian/changelog libsigc++-1.0.4/debian/changelog --- libsigc++-1.0.4/debian/changelog +++ libsigc++-1.0.4/debian/changelog @@ -1,3 +1,11 @@ +libsigc++ (1.0.4-10) unstable; urgency=low + + * debian/60gxx-4.0-fixes.patch (sigc++/macros/class_slot.h.m4, + sigc++/adaptor.cc): g++ 4.0 fixes from ardour.org + (http://ardour.org/cgi-bin/viewcvs.cgi/ardour/libs/sigc++/sigc%2B%2B/) + + -- Robert Jordens <[EMAIL PROTECTED]> Wed, 3 Aug 2005 15:53:12 +0200 + libsigc++ (1.0.4-9) unstable; urgency=low * Attempt to fix my changelog screwup by pulling -8 from unstable and only in patch2: unchanged: --- libsigc++-1.0.4.orig/debian/60gxx-4.0-fixes.patch +++ libsigc++-1.0.4/debian/60gxx-4.0-fixes.patch @@ -0,0 +1,195 @@ +--- libsigc++-1.0.4.orig/sigc++/adaptor.cc ++++ libsigc++-1.0.4/sigc++/adaptor.cc +@@ -26,7 +26,7 @@ + { + sdata->list_.insert_direct(sdata->list_.begin(),node); + +- int i; ++ unsigned int i; + char *p1=(char*)&(node->data_),*p2=(char*)&(sdata->data_); + for (i=0;i<sizeof(Callback_)/sizeof(char);i++) + { *p1=*p2; p1++; p2++; } +--- libsigc++-1.0.4.orig/sigc++/macros/class_slot.h.m4 2005-08-03 16:54:01.000000000 +0200 ++++ libsigc++-1.0.4/sigc++/macros/class_slot.h.m4 2005-08-03 16:54:17.000000000 +0200 +@@ -68,15 +68,17 @@ template <LIST(class R,1,ARG_CLASS($1),[ + struct [ClassSlot]NUM($1)_:public [ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)> + { + typedef [ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&[ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +--- libsigc++-1.0.4.orig/sigc++/class_slot.h 2005-08-03 16:56:06.000000000 +0200 ++++ libsigc++-1.0.4/sigc++/class_slot.h 2005-08-03 16:56:44.000000000 +0200 +@@ -45,15 +45,17 @@ template <class R,class Obj> + struct ClassSlot0_:public ObjectSlot0_<R,Obj> + { + typedef ObjectSlot0_<R,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot0_<R,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -79,15 +81,17 @@ template <class R,class P1,class Obj> + struct ClassSlot1_:public ObjectSlot1_<R,P1,Obj> + { + typedef ObjectSlot1_<R,P1,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot1_<R,P1,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -113,15 +117,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot2_:public ObjectSlot2_<R,P1,P2,Obj> + { + typedef ObjectSlot2_<R,P1,P2,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot2_<R,P1,P2,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -147,15 +153,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot3_:public ObjectSlot3_<R,P1,P2,P3,Obj> + { + typedef ObjectSlot3_<R,P1,P2,P3,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot3_<R,P1,P2,P3,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -181,15 +189,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot4_:public ObjectSlot4_<R,P1,P2,P3,P4,Obj> + { + typedef ObjectSlot4_<R,P1,P2,P3,P4,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot4_<R,P1,P2,P3,P4,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -215,15 +225,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot5_:public ObjectSlot5_<R,P1,P2,P3,P4,P5,Obj> + { + typedef ObjectSlot5_<R,P1,P2,P3,P4,P5,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot5_<R,P1,P2,P3,P4,P5,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -249,15 +261,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot6_:public ObjectSlot6_<R,P1,P2,P3,P4,P5,P6,Obj> + { + typedef ObjectSlot6_<R,P1,P2,P3,P4,P5,P6,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot6_<R,P1,P2,P3,P4,P5,P6,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + } +@@ -283,15 +297,17 @@ template <class R,class P1,class P2,clas + struct ClassSlot7_:public ObjectSlot7_<R,P1,P2,P3,P4,P5,P6,P7,Obj> + { + typedef ObjectSlot7_<R,P1,P2,P3,P4,P5,P6,P7,Obj> Base; ++ typedef typename Base::Func Func; + typedef typename Base::InFunc InFunc; ++ typedef typename Base::CallData CallData; + + static SlotData* create(Obj* obj,InFunc func) + { + if (!obj) return 0; + SlotData* tmp=manage(new SlotData()); + CallData &data=reinterpret_cast<CallData&>(tmp->data_); +- data.callback=&callback; +- data.obj=obj; ++ data.callback=&ObjectSlot7_<R,P1,P2,P3,P4,P5,P6,P7,Obj>::callback; ++ data.obj=&obj; + data.func=(Func)func; + return tmp; + }
signature.asc
Description: Digital signature