[PATCH] D156546: [Clang][WIP]Experimental implementation of data member packs declarations

Zenong Zhang via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 1 16:20:17 PDT 2023


SlaterLatiao marked an inline comment as done.
SlaterLatiao added inline comments.


================
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:3289-3290
+          Fields.push_back(PackedField);
+          if (NewMember->isInvalidDecl())
+            Instantiation->setInvalidDecl();
+        } else {
----------------
dblaikie wrote:
> Is this codepath tested?
Some checks in `Visit` need to be implemented for this branch. I elaborated in the comment and will implement in a future differential.


================
Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:3292-3295
+          // FIXME: Eventually, a NULL return will mean that one of the
+          // instantiations was a semantic disaster, and we'll want to mark
+          // the declaration invalid. For now, we expect to skip some members
+          // that we can't yet handle.
----------------
SlaterLatiao wrote:
> dblaikie wrote:
> > Worth having a test case showing that/what's broken here?
> It's copied from the handling of non-pack members and possibly a duplicate that should be avoided. I'm not sure which case could trigger this branch. Will look into it.
We Traced back and could not find a test case associated with this block.  I added a cross reference of this to the FIXME below.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156546/new/

https://reviews.llvm.org/D156546



More information about the cfe-commits mailing list