================
@@ -1474,6 +1474,11 @@ DeclContext *DeclContext::getPrimaryContext() {
   case Decl::ObjCCategoryImpl:
     return this;
 
+  case Decl::CXXRecord:
+    if (auto *OPD = dyn_cast<CXXRecordDecl>(this))
+      if (auto *Def = OPD->getDefinition())
+        return Def;
+    return this;
   default:
----------------
hekota wrote:

Ok, that explains why the *pch* tests are now failing - they include the new 
buffer types.

I believe the default case in `DeclContext::getPrimaryContext` should be 
covering the CXXRecordDecl case as well. Since it hits the assert, my guess is 
that the CXXRecordDecl is probably not set up as expected. Maybe the definition 
is not complete? What is the difference between the records that use 
`addSimpleTemplateParams` and this one that does not when executing 
`DeclContext::getPrimaryContext`?

https://github.com/llvm/llvm-project/pull/116699
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to