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

via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 1 03:35:53 PDT 2026


================
@@ -0,0 +1,29 @@
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -emit-llvm -o - %s
----------------
mkovacevic99 wrote:

I split the coverage so the semantic/type-deduction checks remain in a Sema test and added a separate CodeGen regression test for the original crash during LLVM emission.

I also checked additional declaration scenarios such as:

```c
struct S {
  __auto_type _Atomic xa;
};
```

Before this change, that also hit the same assertion (`cannot request the size of an undeduced or dependent auto type`). After the fix it now correctly diagnoses:

`'__auto_type' not allowed in struct member`

so the change appears to prevent undeduced `__auto_type` wrapped in `_Atomic` from escaping into later stages there as well.

I agree the qualifier vs specifier behavior and `auto` vs `__auto_type` semantics are separate concerns. I’d prefer to keep this change focused on fixing the crash and that we create a follow up issue for the behavioral differences and more exhaustive coverage.

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


More information about the cfe-commits mailing list