Issue 60980
Summary incompatible-pointer-types-discards-qualifiers trigger context?
Labels new issue
Assignees
Reporter mu578
    Hello, 

can someone explain?

```
typedef uint32_t       xxx_uint32_t;
typedef xxx_uint32_t * xxx_vuint32_t;

xxx_uint32_t vec[10]      = { 0 };
// trigger incompatible-pointer-types-discards-qualifiers 
// why left operand is evaluated within that context as 
// a `unsigned int * const` expr vs `const unsigned int *`
const xxx_vuint32_t expr1 = (const xxx_uint32_t *)vec;
// end trigger

const xxx_vuint32_t expr2 = (xxx_uint32_t *)vec;
const xxx_vuint32_t expr3 = (const xxx_vuint32_t)vec;
const uint32_t * expr4    = (const uint32_t *)vec;
const uint32_t * expr5    = (const xxx_vuint32_t)vec;

Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: arm64-apple-darwin22.3.0
```


_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to