================
@@ -3249,7 +3249,14 @@ class ImplicitConceptSpecializationDecl final
: public Decl,
private llvm::TrailingObjects<ImplicitConceptSpecializationDecl,
TemplateArgument> {
- unsigned NumTemplateArgs;
+ unsigned NumTemplateArgs : 31;
+
+ /// True once setTemplateArguments() has written the trailing array. False
+ /// between CreateDeserialized(), which publishes NumTemplateArgs over raw
+ /// storage, and setTemplateArguments(). Packed into the spare bits of the
+ /// existing member so that sizeof, the allocation size, and the offset of
+ /// the trailing array are all unchanged.
----------------
cor3ntin wrote:
If we are going to do that, can we use UnsignedOrNone?
https://github.com/llvm/llvm-project/pull/224677
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits