Re: Residual HAED C++ problems on MS VisualStudio

From: Serassio Guido <guido.serassio@dont-contact.us>
Date: Sun, 03 Aug 2003 12:15:12 +0200

Hi Robert,

Il 11.43 03/08/2003 Robert Collins ha scritto:

>On Sat, 2003-08-02 at 19:34, Serassio Guido wrote:
> > Hi Robert,
> >
> > There are still some residual HEAD C++ problem on MS VisualStudio:
> >
> > comm.cc
>
>Fixed, I think.

Yes, it works.

> > MemObject.cc
>
>Looks like another limitation. taking the first one: there is a for_each
>template that is explicitly for dlink_list. You might try
>for_each<StoreClientsStats>(clients, statsVisitor);

Rigth, now MSVC++ is happy:

Index: MemObject.cc
===================================================================
RCS file: /cvsroot/squid/squid3/src/MemObject.cc,v
retrieving revision 1.6.2.3
diff -u -p -r1.6.2.3 MemObject.cc
--- MemObject.cc 25 Jul 2003 21:14:10 -0000 1.6.2.3
+++ MemObject.cc 3 Aug 2003 10:07:28 -0000
@@ -249,7 +249,7 @@ MemObject::stat (StoreEntry *s) const

      StoreClientStats statsVisitor(s);

- for_each(clients, statsVisitor);
+ for_each<StoreClientStats>(clients, statsVisitor);
  }

  off_t
@@ -282,7 +282,7 @@ MemObject::lowestMemReaderOffset() const
  {
      LowestMemReader lowest (endOffset() + 1);

- for_each (clients, lowest);
+ for_each <LowestMemReader>(clients, lowest);

      return lowest.current;
  }

> > client_side_request.cc
>
>Fixed by Pawels recent patches.

Confirmed, it works too.

But there is still an open problem: there are many C2664 errors that I
can't understand.

ACLIP.cc
c:\work\nt-3.0\src\aclip.cc(424) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class acl_ip_data *const ' to 'void *'
         Conversion loses qualifiers
acl.cc
c:\work\nt-3.0\src\acl.cc(693) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class ACLList *const ' to 'void *'
         Conversion loses qualifiers
c:\work\nt-3.0\src\acl.cc(716) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class acl_access *const ' to 'void *'
         Conversion loses qualifiers
helper.cc
c:\work\nt-3.0\src\helper.cc(1536) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class helper_request *const ' to 'void *'
         Conversion loses qualifiers
c:\work\nt-3.0\src\helper.cc(1570) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class helper_stateful_request *const ' to 'void *'
         Conversion loses qualifiers
HttpHdrRange.cc
c:\work\nt-3.0\src\httphdrrange.cc(94) : error C2664: 'delete' : cannot
convert parameter 1 from 'const class HttpHdrRangeSpec *const ' to 'void *'
         Conversion loses qualifiers
auth_digest.cc
C:\work\nt-3.0\src\auth\digest\auth_digest.cc(800) : error C2664:
'httpHeaderPutStrf' : cannot convert parameter 2 from 'enum
digest_request_h::addHeader::http_hdr_type' to 'http_hdr_type'
         Conversion to enumeration type requires an explicit cast
(static_cast, C-style cast or function-style cast)
store_dir_ufs.cc
C:\work\nt-3.0\src\fs\ufs\store_dir_ufs.cc(1018) : error C2664:
'file_write' : cannot convert parameter 7 from 'void (void *)' to 'void
(__cdecl *)(void *)'
         None of the functions with this name in scope match the target type

Any tips ?

Regards

Guido

-
========================================================
Guido Serassio
Acme Consulting S.r.l.
Via Gorizia, 69 10136 - Torino - ITALY
Tel. : +39.011.3249426 Fax. : +39.011.3293665
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Sun Aug 03 2003 - 04:15:39 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:26 MST