[PATCH] D143300: [randstruct] Don't allow implicit forward decl to stop struct randomization
Nick Desaulniers via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 6 10:06:16 PST 2023
nickdesaulniers added inline comments.
================
Comment at: clang/lib/Sema/SemaDecl.cpp:18891
+ // incomplete definition.
+ if (const auto *RD = dyn_cast<RecordDecl>(D))
+ return !RD->isCompleteDefinition();
----------------
void wrote:
> nickdesaulniers wrote:
> > what about `EnumDecl`s? I suspect the shared common base `TagDecl` might be better to use?
> >
> > If it is, can you add a test? I'm guessing
> >
> > ```
> > struct foo {
> > enum havent_seen_yet;
> > enum havent_seen_yet2;
> > }
> > ```
> > would be the test case.
> Would testing for a `TagDecl` be better here?
I think so; common shared base and same logic for both cases here. Unless there's something other than RecordDecl and EnumDecl where this shouldn't apply.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143300/new/
https://reviews.llvm.org/D143300
More information about the cfe-commits
mailing list