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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits