Create a new getOrCreateFunction() in Context, so we can lazily compile functions when invoking them in CallVirt. This was necessary in the added test case for example.
Also, reject calling virtual constexpr functions in pre-c++20.
Paths
| Differential D157619
[clang][Interp] Reject calling virtual constexpr functions in pre-c++20 ClosedPublic Authored by tbaeder on Aug 10 2023, 7:09 AM.
Details Summary Create a new getOrCreateFunction() in Context, so we can lazily compile functions when invoking them in CallVirt. This was necessary in the added test case for example. Also, reject calling virtual constexpr functions in pre-c++20.
Diff Detail
Event TimelineThis revision is now accepted and ready to land.Aug 10 2023, 10:07 AM This revision was landed with ongoing or failed builds.Sep 5 2023, 3:34 AM Closed by commit rG5704dde30735: [clang][Interp] Reject calling virtual constexpr functions in pre-c++20 (authored by tbaeder). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 555841 clang/lib/AST/Interp/ByteCodeExprGen.cpp
clang/lib/AST/Interp/Context.h
clang/lib/AST/Interp/Context.cpp
clang/lib/AST/Interp/Interp.h
clang/test/AST/Interp/records.cpp
|