On Mon, Oct 08, 2007 at 10:26:21PM +0300, Tommi Raulahti wrote: > Decided to make a test drive with 3.6 .. but... as usual, everything > doesn't go as planned... > > cxx: Error: FileSet.cc, line 279: no operator "->*" matches these > operands > > OS: OSF/1 5.1 > Compiler: cc & cxx
Please try this patch. > This is something gcc compiles just fine? Yes. -- Alexander.
Index: FileSet.cc =================================================================== RCS file: /home/lav/cvsroot/lftp/src/FileSet.cc,v retrieving revision 1.60 diff -u -p -r1.60 FileSet.cc --- FileSet.cc 10 Sep 2007 10:00:05 -0000 1.60 +++ FileSet.cc 9 Oct 2007 10:13:53 -0000 @@ -276,7 +276,7 @@ void FileSet::SubtractTimeCmp(bool (File if(files[i]->defined&FileInfo::TYPE && files[i]->filetype!=FileInfo::NORMAL) continue; - if((files[i]->*cmp)(t)) + if((files[i].get()->*cmp)(t)) { Sub(i); i--; Index: Ref.h =================================================================== RCS file: /home/lav/cvsroot/lftp/src/Ref.h,v retrieving revision 1.6 diff -u -p -r1.6 Ref.h --- Ref.h 10 Sep 2007 10:32:51 -0000 1.6 +++ Ref.h 9 Oct 2007 10:14:42 -0000 @@ -39,6 +39,7 @@ public: operator const T*() const { return ptr; } T *operator->() const { return ptr; } T *borrow() { return replace_value(ptr,(T*)0); } + const T *get() const { return ptr; } T *get_non_const() const { return ptr; } template<class C> const Ref<C>& Cast() const