[PATCH] D88832: [TableGen] Add new getAllDerivedDefinitionsTwo function to RecordKeeper

Paul C. Anagnostopoulos via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 8 10:52:42 PDT 2020


Paul-C-Anagnostopoulos added inline comments.


================
Comment at: llvm/lib/TableGen/Record.cpp:2493-2500
+    AddDef = true;
+    for (auto *const Class : ClassRecs)
+      if (!OneDef.second->isSubClassOf(Class)) {
+        AddDef = false;
+        break;
+      }
+    if (AddDef)
----------------
Paul-C-Anagnostopoulos wrote:
> Paul-C-Anagnostopoulos wrote:
> > jrtc27 wrote:
> > > This can avoid some boilerplate by using llvm::any_of
> > Ah, something new to learn. Okay, I'll check it out.
> I'm sorry, please help me out. I coded:
> 
> for (const auto &OneDef : getDefs()) {
>     if (!any_of(ClassRecs, [OneDef](Record *const Class) {
>                              return !OneDef.second->isSubClassOf(Class);
>                            }))
>   Defs.push_back(OneDef.second.get());
> 
> I get a sequence of messages I cannot figure out. Sorry, I can't copy and paste them. The first one is "... attempting to reference a deleted function." It looks like it's about the std::pair class, which would be the OneDef.
> 
> 
A screen capture.

{F13210870}


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

https://reviews.llvm.org/D88832



More information about the llvm-commits mailing list