[clang] [Clang] Handle deduced auto types within AtomicType (PR #197874)

via cfe-commits cfe-commits at lists.llvm.org
Sat Jun 27 02:36:18 PDT 2026


================
@@ -3742,7 +3742,13 @@ CheckOriginalCallArgDeduction(Sema &S, TemplateDeductionInfo &Info,
   QualType OriginalParamType = OriginalArg.OriginalParamType;
 
   // Check for type equality (top-level cv-qualifiers are ignored).
-  if (Context.hasSameUnqualifiedType(A, DeducedA))
+  // _Atomic is treated as a qualifier, so strip it from both sides.
+  auto StripAtomic = [](QualType T) -> QualType {
+    if (const auto *AT = T->getAs<AtomicType>())
+      return AT->getValueType();
+    return T;
+  };
+  if (Context.hasSameUnqualifiedType(StripAtomic(A), StripAtomic(DeducedA)))
----------------
mkovacevic99 wrote:

good catch, I updated it

https://github.com/llvm/llvm-project/pull/197874


More information about the cfe-commits mailing list