mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
The relevant language rule from C11 is 6.5.16.1p1: "the left operand is an atomic, qualified, or unqualified pointer, and the right is a null pointer constant; or". We correctly handled qualified or unqualified pointer types, but failed to handle atomic-qualified pointer types. Now we look through the atomic qualification before testing the constraint requirements. Fixes https://github.com/llvm/llvm-project/issues/49563 Differential Revision: https://reviews.llvm.org/D148730