Re: [PATCH 07/17] Get rid of C-style memset initializations, use C++ style aggregates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 23, 2018 at 12:01:59PM +0100, Christophe de Dinechin wrote:
> 
> 
> > On 23 Feb 2018, at 10:53, Christophe Fergeau <cfergeau@xxxxxxxxxx> wrote:
> > 
> > Given the lengthy debate over what is mostly a small cosmetic patch, I
> > suggest that we postpone this one for now and drop it from the series.
> 
> memset in C++ code is not just a style issue, it’s dangerous. It completely wipes out C++ type guarantees. For example, if someone inits a field with
> 
> 	int x = 1;
> 
> Then all constructors will guarantee that x == -1, but a memset after
> object creation wipes out that guarantee. Same thing if we make of of
> the objects being memset-initialized contain some C++ object with a
> vtable. And so on. All these problems do not exist with C++
> zero-initialization.

Is this an actual problem with the 2 structs which are being discussed
here? In other word, is this patch currently fixing a bug? I don't think
it does, so it can safely be postponed for a later time when people get
to an agreement on it, or when we have less patches pending, ...

> Which is also significantly shorter to write.

I did not mention it the first time, but this patch is added more lines
that it removes. So I'll beg to disagree with the "shorter" part ;)

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]