AaronBallman wrote:
> I think the conversion is dropped in `Sema::CheckAssignmentConstraints`. It
> isn't assigning `CK_NonAtomicToAtomic` to `Kind` because `result` is
> `AssignConvertType::CompatibleVoidPtrToNonVoidPtr`, not
> `AssignConvertType::Compatible`.
>
> ```
> // If we have an atomic type, try a non-atomic assignment, then just add an
> // atomic qualification step.
> if (const AtomicType *AtomicTy = dyn_cast<AtomicType>(LHSType)) {
> AssignConvertType result =
> CheckAssignmentConstraints(AtomicTy->getValueType(), RHS, Kind);
> if (result != AssignConvertType::Compatible)
> return result;
> ```
Thank you for the investigation, that's definitely it!
https://github.com/llvm/llvm-project/pull/136855
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits