andykaylor wrote:

> Given that there are already similar functions in the `Type` class -- e.g. 
> `has{Signed,Unsigned,}IntegerRepresentation`, `hasFloatingRepresentation` -- 
> it seems a bit inconsistent the definition of `hasBooleanRepresentation`. I 
> would expect that "vector of booleans" to have `hasBooleanRepresentation` 
> returning `true`, and I would expect `_Atomic(<type with boolean 
> representation>)` to have `hasBooleanRepresentation` returning `false`. Any 
> thoughts?

Yes, I also noticed that when I was moving this. I wasn't sure which way it 
should go, so I opted to keep the code the same as it was in its original 
location. There is already a precedent (`hasPointerRepresentation`) for not 
including vectors. Also, vectors of Booleans have different considerations that 
scalar Booleans. For instance, they are stored differently in memory.

Maybe the function should have a different name to avoid confusion?

https://github.com/llvm/llvm-project/pull/134159
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to