[clang] [Clang][Sema] Refactor collection of multi-level template argument lists (PR #106585)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 29 19:54:34 PDT 2024


================
@@ -809,8 +809,9 @@ class RedeclarableTemplateDecl : public TemplateDecl,
   };
 
   /// Pointer to the common data shared by all declarations of this
-  /// template.
-  mutable CommonBase *Common = nullptr;
+  /// template, and a flag indicating if the template is a member
+  /// specialization.
+  mutable llvm::PointerIntPair<CommonBase *, 1, bool> Common;
----------------
zyn0217 wrote:

Do you think it is more appropriate to move the flag to `Common->InstantiatedFromMember`? That way the flag won't be scattered, right?

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


More information about the cfe-commits mailing list