Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[clang] Fix
remove{CVR|Fast}Qualifiers
with 64-bit `Qualifiers::Mas…
…k` (llvm#90329) After llvm#84384, `Qualifiers::Mask` becomes 64-bit. So, operations like `Mask &= ~U32` where `U32` is `unsigned` produce undesirable results since higher 32 bits of `Mask` become zeroed while they should be preserved. Fix that by explicitly casting `unsigned` values to `uint64_t` in such operations. Signatures of fixed functions are intentionally left intact instead of changing the argument itself to `uint64_t` to keep things consistent with other functions working with the same qualifiers and to emphasize that 64-bit masks should not be used for these types of qualifiers.
- Loading branch information