This is just a humble beginning of course.
Posting this now for your weekend reading. And also to keep the individual patches small.
Paths
| Differential D134057
[clang][Interp] Start implementing record types ClosedPublic Authored by tbaeder on Sep 16 2022, 10:27 AM.
Details Summary This is just a humble beginning of course. Posting this now for your weekend reading. And also to keep the individual patches small.
Diff Detail
Event Timeline
tbaeder marked 2 inline comments as done.
tbaeder added inline comments.
Comment Actions LGTM aside from a minor nit, we can handle the other cases in follow-ups.
This revision is now accepted and ready to land.Sep 26 2022, 2:21 PM tbaeder added inline comments.
tbaeder added a child revision: D134699: [clang][Interp] Implement This pointer passing to methods.Sep 28 2022, 6:35 AM This revision was landed with ongoing or failed builds.Oct 14 2022, 1:22 AM Closed by commit rG1942a2538b86: [clang][Interp] Start implementing record types (authored by tbaeder). · Explain Why This revision was automatically updated to reflect the committed changes. tbaeder marked an inline comment as done.
Revision Contents
Diff 467707 clang/lib/AST/Interp/ByteCodeExprGen.h
clang/lib/AST/Interp/ByteCodeExprGen.cpp
clang/lib/AST/Interp/ByteCodeStmtGen.cpp
clang/lib/AST/Interp/Interp.h
clang/lib/AST/Interp/Record.h
clang/test/AST/Interp/records.cpp
clang/test/AST/Interp/references.cpp
|
I THINK Member is a ValueDecl because it could be a member function, right? So forcing it to be a FieldDecl here is likely not valid. Perhaps in the 'non-FieldDecl' case we could jsut return false for now?
ALSO, don't do a dyn_cast followed by an assert, cast will do the assert for you.