ioeric added a comment.

In https://reviews.llvm.org/D43230#1006469, @ilya-biryukov wrote:

> In https://reviews.llvm.org/D43230#1006104, @ioeric wrote:
>
> > But I think it's safe and probably easier to rely on default values of 
> > primitive types like int, bool etc
>
>
> It's not always safe, as primitive types are sometimes left uninitialized 
> (e.g. when constructed on the stack) and reading an uninitialized value is UB.


Oh, you are absolutely right! I I think l had protos get into my mind...

> 
> 
>> but do we really want to make this a requirement for future changes or even 
>> in our coding style?
> 
> I think we should, default values are less surprising than UB. Other people 
> may disagree, though. 
>  @sammccall , @hokein , WDYT? Should we always initialize primitive types in 
> our code?

I think it would probably depend on whether we could find a sensible default 
value for a field (e.g. is 0 a better default value than UINT_MAX for line 
number?) and whether we expect users to always initialize a field (e.g. would 
it be better to pollute the field instead of providing a default value so that 
uninitialized values would be caught more easily).


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D43230



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to