erik.pilkington added a comment.

In D63856#1561160 <https://reviews.llvm.org/D63856#1561160>, @rjmccall wrote:

> In D63856#1561132 <https://reviews.llvm.org/D63856#1561132>, @erik.pilkington 
> wrote:
>
> > In D63856#1561112 <https://reviews.llvm.org/D63856#1561112>, @rjmccall 
> > wrote:
> >
> > > In D63856#1560213 <https://reviews.llvm.org/D63856#1560213>, 
> > > @erik.pilkington wrote:
> > >
> > > > In D63856#1560180 <https://reviews.llvm.org/D63856#1560180>, @rjmccall 
> > > > wrote:
> > > >
> > > > > This only applies to relational operators, right?  I'm a little 
> > > > > uncomfortable with calling this "tautological" since it's not like 
> > > > > it's *undefined behavior* to have `(BOOL) 2`, it's just *unwise*.  
> > > > > But as long as we aren't warning about reasonable idioms that are 
> > > > > intended to handle unfortunate situations — like other code that 
> > > > > might have left a non-`{0,1}` value in the `BOOL` — I think this is 
> > > > > fine.
> > > >
> > > >
> > > > I think the party line is that it is undefined behaviour (in some 
> > > > sense), since UBSan will happily crash if you try to load a non-boolean 
> > > > value from a BOOL.
> > >
> > >
> > > What?  Since when?
> >
> >
> > https://reviews.llvm.org/D27607
>
>
> Interesting; I'm not sure I find that convincing.  Probably the least 
> convincing part is where it links to its own behavioral documentation as 
> justification for doing what it does.  But okay, I guess we do this.


Hmm, I guess you could say that they were being a little... tautological.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63856/new/

https://reviews.llvm.org/D63856



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

Reply via email to