[squid-dev] [PATCH] Remove ServerOptions "partial copy" copy constructor

Amos Jeffries squid3 at treenet.co.nz
Sun Apr 10 05:03:35 UTC 2016


On 8/04/2016 2:57 a.m., Alex Rousskov wrote:
> On 04/07/2016 03:22 AM, Amos Jeffries wrote:
>> On 7/04/2016 6:10 p.m., Alex Rousskov wrote:
>>>     The attached patch removes broken and, AFAICT, unused "partial copy"
>>> ServerOptions copy constructor.
> 
> 
>> A (full) copy-constructor is needed on some systems for the clear()
>> method implementation to build.
> 
> 
> AFAICT, the clear() method needs an assignment operator rather than a
> copy constructor. Prohibiting copy construction with "= delete" has no
> effect on the compilation (with GCC v4). The code without manual copy
> constructor builds with clang as well.
> 
> Is there something wrong with the full copy constructor generated by
> default?
> 
> Can you share more information about what happens when there is no
> manual copy constructor and which systems are affected?


IIRC there the default was none (implicit =delete) but some of the
operators from AnyP::CfgPort try to make use of it.

I dont recall which system or compiler version specifically sorry. But
CfgPort should only have copy-construct actions done on it for
split-stack OS such as OpenBSD. So maybe it only shows up there.

IIRC it was originally found in the BuildFarm testing so if this patch
passes the current BuildFarm matrix it can go in. And/or just apply and
add a proper ctor later if needed.

(I'll tentatively +1 this as-is if you want to do the latter).

Amos



More information about the squid-dev mailing list