| 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