[clang] [clang] Avoid assertion on invalid member template specialization (PR #201506)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 12 01:55:42 PDT 2026


================
@@ -2247,9 +2247,10 @@ DeclResult Sema::CheckClassTemplate(
     NewTemplate->setModulePrivate();
 
   if (IsMemberSpecialization) {
-    assert(PrevClassTemplate &&
+    assert((PrevClassTemplate || Invalid) &&
            "Member specialization without a primary template?");
-    NewTemplate->setMemberSpecialization();
+    if (PrevClassTemplate)
+      NewTemplate->setMemberSpecialization();
----------------
zyn0217 wrote:

Can we

```cpp
if (!Invalid && IsMemberSpecialization)
```
?

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


More information about the cfe-commits mailing list