FreeBSD Bugzilla – Attachment 73218 Details for
Bug 106197
[PATCH] devel/ixlib: Fix C++ BROKENness
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
unbreak-ixlib.patch
unbreak-ixlib.patch (text/plain), 17.52 KB, created by
Peter Johnson
on 2006-12-02 04:10:01 UTC
(
hide
)
Description:
unbreak-ixlib.patch
Filename:
MIME Type:
Creator:
Peter Johnson
Created:
2006-12-02 04:10:01 UTC
Size:
17.52 KB
patch
obsolete
>Index: Makefile >=================================================================== >RCS file: /home/ncvs/ports/devel/ixlib/Makefile,v >retrieving revision 1.23 >diff -u -r1.23 Makefile >--- Makefile 5 Nov 2006 08:14:47 -0000 1.23 >+++ Makefile 2 Dec 2006 04:02:51 -0000 >@@ -8,7 +8,7 @@ > > PORTNAME= ixlib > PORTVERSION= 0.96.2 >-PORTREVISION= 3 >+PORTREVISION= 4 > CATEGORIES= devel > MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} > MASTER_SITE_SUBDIR= ${PORTNAME} >@@ -27,8 +27,8 @@ > > .include <bsd.port.pre.mk> > >-.if ${ARCH} != "i386" || ${OSVERSION} >= 500000 >-BROKEN= Does not compile on !i386 or on FreeBSD >= 5.x >+.if ${ARCH} != "i386" >+BROKEN= Does not compile on !i386 > .endif > > pre-configure: >Index: files/patch-src::ixlib_garbage.hh >=================================================================== >RCS file: files/patch-src::ixlib_garbage.hh >diff -N files/patch-src::ixlib_garbage.hh >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-src::ixlib_garbage.hh 2 Dec 2006 04:02:51 -0000 >@@ -0,0 +1,227 @@ >+--- src/ixlib_garbage.hh.orig Tue Jun 19 16:16:29 2001 >++++ src/ixlib_garbage.hh Fri Dec 1 19:56:04 2006 >+@@ -126,24 +126,24 @@ >+ // compiler generates one, which is *ahem* - fatal >+ ref(ref const &src) >+ : ref_base<T>(src) { >+- reference_manager_keeper<T_Managed>::Manager.addReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addReference(this->Instance); >+ } >+ template<class T2> >+ ref(ref<T2,T_Managed> const &src) >+ : ref_base<T>(src.get()) { >+- reference_manager_keeper<T_Managed>::Manager.addReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addReference(this->Instance); >+ } >+ template<class T2> >+ ref(no_free_ref<T2,T_Managed> const &src) >+ : ref_base<T>(src.get()) { >+- reference_manager_keeper<T_Managed>::Manager.addReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addReference(this->Instance); >+ } >+ ref(T *instance = NULL) >+ : ref_base<T>(instance) { >+- reference_manager_keeper<T_Managed>::Manager.addReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addReference(this->Instance); >+ } >+ ~ref() { >+- reference_manager_keeper<T_Managed>::Manager.freeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.freeReference(this->Instance); >+ } >+ >+ ref &operator=(ref const &src) { >+@@ -157,20 +157,20 @@ >+ >+ // methods >+ void release() { >+- reference_manager_keeper<T_Managed>::Manager.freeReference(Instance); >+- Instance = NULL; >++ reference_manager_keeper<T_Managed>::Manager.freeReference(this->Instance); >++ this->Instance = NULL; >+ } >+ void set(T *instance) { >+- if (instance == Instance) return; >++ if (instance == this->Instance) return; >+ >+- reference_manager_keeper<T_Managed>::Manager.freeReference(Instance); >+- Instance = instance; >+- reference_manager_keeper<T_Managed>::Manager.addReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.freeReference(this->Instance); >++ this->Instance = instance; >++ reference_manager_keeper<T_Managed>::Manager.addReference(this->Instance); >+ } >+ T *releaseFromGCArena() { >+- T *oldinst = Instance; >+- reference_manager_keeper<T_Managed>::Manager.forgetReference(Instance); >+- Instance = NULL; >++ T *oldinst = this->Instance; >++ reference_manager_keeper<T_Managed>::Manager.forgetReference(this->Instance); >++ this->Instance = NULL; >+ return oldinst; >+ } >+ }; >+@@ -200,24 +200,24 @@ >+ // compiler generates one, which is *ahem* - fatal >+ no_free_ref(no_free_ref const &src) >+ : ref_base<T>(src) { >+- reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(this->Instance); >+ } >+ template<class T2> >+ no_free_ref(ref<T2,T_Managed> const &src) >+ : ref_base<T>(src.get()) { >+- reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(this->Instance); >+ } >+ template<class T2> >+ no_free_ref(no_free_ref<T2,T_Managed> const &src) >+ : ref_base<T>(src.get()) { >+- reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(this->Instance); >+ } >+ no_free_ref(T *instance = NULL) >+ : ref_base<T>(instance) { >+- reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(this->Instance); >+ } >+ ~no_free_ref() { >+- reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(this->Instance); >+ } >+ >+ // assignment >+@@ -232,20 +232,20 @@ >+ >+ // methods >+ void release() { >+- reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(Instance); >+- Instance = NULL; >++ reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(this->Instance); >++ this->Instance = NULL; >+ } >+ void set(T *instance) { >+- if (instance == Instance) return; >++ if (instance == this->Instance) return; >+ >+- reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(Instance); >+- Instance = instance; >+- reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(Instance); >++ reference_manager_keeper<T_Managed>::Manager.removeNoFreeReference(this->Instance); >++ this->Instance = instance; >++ reference_manager_keeper<T_Managed>::Manager.addNoFreeReference(this->Instance); >+ } >+ T *releaseFromGCArena() { >+- T *oldinst = Instance; >+- reference_manager_keeper<T_Managed>::Manager.forgetReference(Instance); >+- Instance = NULL; >++ T *oldinst = this->Instance; >++ reference_manager_keeper<T_Managed>::Manager.forgetReference(this->Instance); >++ this->Instance = NULL; >+ return oldinst; >+ } >+ }; >+@@ -265,14 +265,14 @@ >+ public: >+ dynamic_ref(dynamic_ref const &src) >+ : ref_base<T>(src),Manager(src.Manager) { >+- Manager.addReference(Instance); >++ Manager.addReference(this->Instance); >+ } >+ dynamic_ref(reference_manager<T> &mgr,T *instance = NULL) >+ : ref_base<T>(instance),Manager(mgr) { >+- Manager.addReference(Instance); >++ Manager.addReference(this->Instance); >+ } >+ ~dynamic_ref() { >+- Manager.freeReference(Instance); >++ Manager.freeReference(this->Instance); >+ } >+ >+ // assignment >+@@ -287,20 +287,20 @@ >+ >+ // methods >+ void release() { >+- Manager.freeReference(Instance); >+- Instance = NULL; >++ Manager.freeReference(this->Instance); >++ this->Instance = NULL; >+ } >+ void set(T *instance) { >+- if (instance == Instance) return; >++ if (instance == this->Instance) return; >+ >+- Manager.freeReference(Instance); >+- Instance = instance; >+- Manager.addReference(Instance); >++ Manager.freeReference(this->Instance); >++ this->Instance = instance; >++ Manager.addReference(this->Instance); >+ } >+ T *releaseFromGCArena() { >+- T *oldinst = Instance; >+- Manager.forgetReference(Instance); >+- Instance = NULL; >++ T *oldinst = this->Instance; >++ Manager.forgetReference(this->Instance); >++ this->Instance = NULL; >+ return oldinst; >+ } >+ }; >+@@ -330,14 +330,14 @@ >+ public: >+ no_free_dynamic_ref(no_free_dynamic_ref const &src) >+ : ref_base<T>(src),Manager(src.Manager) { >+- Manager.addNoFreeReference(Instance); >++ Manager.addNoFreeReference(this->Instance); >+ } >+ no_free_dynamic_ref(reference_manager<T> &mgr,T *instance = NULL) >+ : ref_base<T>(instance),Manager(mgr) { >+- Manager.addNoFreeReference(Instance); >++ Manager.addNoFreeReference(this->Instance); >+ } >+ ~no_free_dynamic_ref() { >+- Manager.removeNoFreeReference(Instance); >++ Manager.removeNoFreeReference(this->Instance); >+ } >+ >+ // assignment >+@@ -352,20 +352,20 @@ >+ >+ // methods >+ void release() { >+- Manager.removeNoFreeReference(Instance); >+- Instance = NULL; >++ Manager.removeNoFreeReference(this->Instance); >++ this->Instance = NULL; >+ } >+ void set(T *instance) { >+- if (instance == Instance) return; >++ if (instance == this->Instance) return; >+ >+- Manager.removeNoFreeReference(Instance); >+- Instance = instance; >+- Manager.addNoFreeReference(Instance); >++ Manager.removeNoFreeReference(this->Instance); >++ this->Instance = instance; >++ Manager.addNoFreeReference(this->Instance); >+ } >+ T *releaseFromGCArena() { >+- T *oldinst = Instance; >+- Manager.forgetReference(Instance); >+- Instance = NULL; >++ T *oldinst = this->Instance; >++ Manager.forgetReference(this->Instance); >++ this->Instance = NULL; >+ return oldinst; >+ } >+ }; >+@@ -482,7 +482,7 @@ >+ >+ >+ #define IXLIB_GARBAGE_DECLARE_MANAGER(TYPE) \ >+- ixion::reference_manager<TYPE> ixion::reference_manager_keeper<TYPE>::Manager; >++ template <> ixion::reference_manager<TYPE> ixion::reference_manager_keeper<TYPE>::Manager = ixion::reference_manager<TYPE>(); >+ } >+ >+ >Index: files/patch-src::ixlib_numeric.hh >=================================================================== >RCS file: files/patch-src::ixlib_numeric.hh >diff -N files/patch-src::ixlib_numeric.hh >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-src::ixlib_numeric.hh 2 Dec 2006 04:02:51 -0000 >@@ -0,0 +1,67 @@ >+--- src/ixlib_numeric.hh.orig Thu Mar 22 16:16:25 2001 >++++ src/ixlib_numeric.hh Thu Nov 30 23:11:52 2006 >+@@ -67,56 +67,56 @@ >+ >+ >+ // Primitive inlines --------------------------------------------------------- >+- inline signed short ixion::sgn(signed long value) { >++ inline signed short sgn(signed long value) { >+ return (value<0) ? -1 : ( (value>0) ? 1 : 0); >+ } >+ >+ >+ >+ >+- inline bool ixion::getBit(unsigned long value,char bit) { >++ inline bool getBit(unsigned long value,char bit) { >+ return (value >> bit) & 1; >+ } >+ >+ >+ >+ >+- inline TUnsigned8 ixion::hiByte(TUnsigned16 value) { >++ inline TUnsigned8 hiByte(TUnsigned16 value) { >+ return value >> 8; >+ } >+ >+ >+ >+ >+- inline TUnsigned16 ixion::hiWord(TUnsigned32 value) { >++ inline TUnsigned16 hiWord(TUnsigned32 value) { >+ return value >> 16; >+ } >+ >+ >+ >+ >+- inline TUnsigned8 ixion::loByte(TUnsigned16 value) { >++ inline TUnsigned8 loByte(TUnsigned16 value) { >+ return value & 0xff; >+ } >+ >+ >+ >+ >+- inline TUnsigned16 ixion::loWord(TUnsigned32 value) { >++ inline TUnsigned16 loWord(TUnsigned32 value) { >+ return value & 0xffff; >+ } >+ >+ >+ >+ >+- inline TUnsigned16 ixion::makeWord(TUnsigned8 hi,TUnsigned8 lo) { >++ inline TUnsigned16 makeWord(TUnsigned8 hi,TUnsigned8 lo) { >+ return (TUnsigned16) hi << 8 | lo; >+ } >+ >+ >+ >+ >+- inline TUnsigned32 ixion::makeDWord(TUnsigned16 hi,TUnsigned16 lo) { >++ inline TUnsigned32 makeDWord(TUnsigned16 hi,TUnsigned16 lo) { >+ return (TUnsigned32) hi << 16 | lo; >+ } >+ } >Index: files/patch-src::ixlib_re.hh >=================================================================== >RCS file: /home/ncvs/ports/devel/ixlib/files/patch-src::ixlib_re.hh,v >retrieving revision 1.1 >diff -u -r1.1 patch-src::ixlib_re.hh >--- files/patch-src::ixlib_re.hh 30 Nov 2003 18:11:13 -0000 1.1 >+++ files/patch-src::ixlib_re.hh 2 Dec 2006 04:02:51 -0000 >@@ -1,5 +1,5 @@ >---- src/ixlib_re.hh.orig Fri Nov 28 11:46:14 2003 >-+++ src/ixlib_re.hh Fri Nov 28 11:53:24 2003 >+--- src/ixlib_re.hh.orig Tue Jun 19 16:16:29 2001 >++++ src/ixlib_re.hh Fri Dec 1 18:36:04 2006 > @@ -163,7 +163,7 @@ > > struct backtrack_stack_entry { >@@ -9,3 +9,48 @@ > }; > > public: >+@@ -210,7 +210,7 @@ >+ class any_matcher : public matcher { >+ public: >+ any_matcher() { >+- MatchLength = 1; >++ this->MatchLength = 1; >+ } >+ >+ matcher *duplicate() const; >+@@ -229,7 +229,7 @@ >+ class start_matcher : public matcher { >+ public: >+ start_matcher() { >+- MatchLength = 0; >++ this->MatchLength = 0; >+ } >+ >+ matcher *duplicate() const; >+@@ -246,7 +246,7 @@ >+ class end_matcher : public matcher { >+ public: >+ end_matcher() { >+- MatchLength = 0; >++ this->MatchLength = 0; >+ } >+ >+ matcher *duplicate() const; >+@@ -263,7 +263,7 @@ >+ class backref_open_matcher : public matcher { >+ public: >+ backref_open_matcher() { >+- MatchLength = 0; >++ this->MatchLength = 0; >+ } >+ >+ matcher *duplicate() const; >+@@ -280,7 +280,7 @@ >+ class backref_close_matcher : public matcher { >+ public: >+ backref_close_matcher() { >+- MatchLength = 0; >++ this->MatchLength = 0; >+ } >+ >+ matcher *duplicate() const; >Index: files/patch-src::ixlib_re_impl.hh >=================================================================== >RCS file: /home/ncvs/ports/devel/ixlib/files/patch-src::ixlib_re_impl.hh,v >retrieving revision 1.1 >diff -u -r1.1 patch-src::ixlib_re_impl.hh >--- files/patch-src::ixlib_re_impl.hh 30 Nov 2003 18:11:13 -0000 1.1 >+++ files/patch-src::ixlib_re_impl.hh 2 Dec 2006 04:02:51 -0000 >@@ -1,5 +1,5 @@ >---- src/ixlib_re_impl.hh.orig Fri Nov 28 11:43:40 2003 >-+++ src/ixlib_re_impl.hh Fri Nov 28 12:55:23 2003 >+--- src/ixlib_re_impl.hh.orig Tue Jun 19 16:16:29 2001 >++++ src/ixlib_re_impl.hh Fri Dec 1 18:38:10 2006 > @@ -38,7 +38,7 @@ > > >@@ -36,7 +36,42 @@ > quantifier *dupe = new quantifier(); > dupe->copy(this); > return dupe; >-@@ -328,7 +328,7 @@ >+@@ -239,7 +239,7 @@ >+ if (quant_min == 0) quant_min = 1; >+ >+ TSize max_count = candidate.size() - at; >+- if (Next) max_count -= Next->minimumSubsequentMatchLength(); >++ if (this->Next) max_count -= this->Next->minimumSubsequentMatchLength(); >+ max_count = max_count/quant_min + 1; >+ >+ if (MaxValid) max_count = NUM_MIN(max_count,MaxCount); >+@@ -278,7 +278,7 @@ >+ } >+ >+ if (successful_indices.size()) { >+- MatchLength = successful_indices.top().Index - at; >++ this->MatchLength = successful_indices.top().Index - at; >+ return true; >+ } >+ else return false; >+@@ -286,7 +286,7 @@ >+ else { >+ for (TSize c = 0;c <= remcount;c++) { >+ if (matchNext(brstack,candidate,idx)) { >+- MatchLength = idx-at; >++ this->MatchLength = idx-at; >+ return true; >+ } >+ // following part runs once too much, effectively: >+@@ -321,14 +321,14 @@ >+ template<class T> >+ ixion::regex<T>::sequence_matcher::sequence_matcher(T const &matchstr) >+ : MatchStr(matchstr) { >+- MatchLength = MatchStr.size(); >++ this->MatchLength = MatchStr.size(); >+ } >+ >+ > > > template<class T> >@@ -135,7 +170,7 @@ > matcher::setNext(next); > Connector.setNext(next,false); > } >-@@ -524,7 +524,7 @@ >+@@ -524,13 +524,13 @@ > > template<class T> > bool ixion::regex<T>::alternative_matcher::match(backref_stack &brstack,T const &candidate,TIndex at) { >@@ -143,10 +178,21 @@ > + typename std::vector<matcher *>::iterator first = AltList.begin(),last = AltList.end(); > while (first != last) { > if ((*first)->match(brstack,candidate,at)) { >- MatchLength = 0; >-@@ -548,7 +548,7 @@ >+- MatchLength = 0; >++ this->MatchLength = 0; >+ matcher const *object = *first; >+ while (object != &Connector) { >+- MatchLength += object->getMatchLength(); >++ this->MatchLength += object->getMatchLength(); >+ object = object->getNext(); >+ } >+ return true; >+@@ -546,9 +546,9 @@ >+ template<class T> >+ void ixion::regex<T>::alternative_matcher::copy(alternative_matcher const *src) { > super::copy(src); >- Connector.setNext(Next,false); >+- Connector.setNext(Next,false); >++ Connector.setNext(this->Next,false); > > - FOREACH_CONST(first,src->AltList,alt_list) > + FOREACH_CONST_T(first,src->AltList,alt_list) >@@ -162,3 +208,12 @@ > backref_matcher *dupe = new backref_matcher(Backref); > dupe->copy(this); > return dupe; >+@@ -577,7 +577,7 @@ >+ template<class T> >+ bool ixion::regex<T>::backref_matcher::match(backref_stack &brstack,T const &candidate,TIndex at) { >+ T matchstr = brstack.get(Backref,candidate); >+- MatchLength = matchstr.size(); >++ this->MatchLength = matchstr.size(); >+ >+ if (at+matchstr.size() > candidate.size()) return false; >+ return (T(candidate.begin()+at,candidate.begin()+at+matchstr.size()) == matchstr) && >Index: files/patch-src::lex.xml.cc >=================================================================== >RCS file: files/patch-src::lex.xml.cc >diff -N files/patch-src::lex.xml.cc >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-src::lex.xml.cc 2 Dec 2006 04:02:51 -0000 >@@ -0,0 +1,16 @@ >+--- src/lex.xml.cc.orig Tue Oct 23 12:24:43 2001 >++++ src/lex.xml.cc Fri Dec 1 18:57:06 2006 >+@@ -24,9 +24,12 @@ >+ #ifdef __cplusplus >+ >+ #include <stdlib.h> >+-#include <fstream> >++#include <iostream> >+ using std::istream; >+ using std::ostream; >++using std::cin; >++using std::cout; >++using std::cerr; >+ #include <unistd.h> >+ >+ /* Use prototypes in function declarations. */ >Index: files/patch-src::re.cc >=================================================================== >RCS file: files/patch-src::re.cc >diff -N files/patch-src::re.cc >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-src::re.cc 2 Dec 2006 04:02:51 -0000 >@@ -0,0 +1,11 @@ >+--- src/re.cc.orig Tue Jun 19 16:16:29 2001 >++++ src/re.cc Fri Dec 1 18:37:32 2006 >+@@ -26,7 +26,7 @@ >+ >+ >+ // Template instantiations ---------------------------------------------------- >+-template regex<string>; >++template class regex<string>; >+ >+ >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 106197
: 73218