On 02/20/2017 07:58 AM, Eduard Bagdasaryan wrote:

> Attaching compilation fix for r15057.

Committed to v5 (r15061).


> src/client_db.cc:443:21: error: 'reinterpret_cast' to class 'ClientInfo *' 
> from its base at non-zero offset 'hash_link *' behaves differently from 
> 'static_cast' [-Werror,-Wreinterpret-base-class]
>     ClientInfo *c = reinterpret_cast<ClientInfo *>(hash_next(client_table));

I am not sure why clang claims that hash_link offset inside ClientInfo
is not zero despite the fact that hash_link is the first ClientInfo
parent, but I suspect that this is because hash_link is a POD while
ClientInfo sometimes has a vtable that a compiler may place at offset
zero of a ClientInfo object, shifting hash_link data members down.

> class ClientInfo : public hash_link
> #if USE_DELAY_POOLS
>     , public BandwidthBucket
> #endif
> {


Thank you,

Alex.

_______________________________________________
squid-dev mailing list
[email protected]
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to