Commit Graph

9 Commits

Author SHA1 Message Date
Timm Bäder 4d2d426a51 [clang][Interp] Fix Pointer::toAPValue() LValuePath order 2022-10-14 12:31:24 +02:00
Timm Bäder 6e83209f62 [clang][Interp] Fix copy constructors with record array members
Differential Revision: https://reviews.llvm.org/D134523
2022-10-14 11:57:26 +02:00
Timm Bäder b3d495e7e0 [clang][Interp][NFC] Explain why tests are disabled
Disabled to make the buildbots happy in
c004d7534d. In C++14, the functions here
use a MaterializeTemporaryExpr, which the new constant interpreter
doesn't support yet. Add comments for this and two new RUN lines.
2022-10-14 11:47:25 +02:00
Timm Bäder 72292271f6 [clang][Interp][NFC] Run record tests on i686 as well
So we have some test coverage on a 32bit arch.
2022-10-14 11:19:24 +02:00
Timm Bäder c004d7534d [clang][Interp] Disable some RVO tests
Apparently this breaks a couple of builders:
https://lab.llvm.org/buildbot/#/builders/139/builds/29552
https://lab.llvm.org/buildbot/#/builders/216/builds/11240
2022-10-14 10:45:23 +02:00
Timm Bäder 33b52836de [clang][Interp] Fix using default copy constructors
Implement ArrayInitLoopExprs, which are used in copy constructors to
copy arrays. Also fix problems encountered while doing that.

Differential Revision: https://reviews.llvm.org/D134361
2022-10-14 10:21:53 +02:00
Timm Bäder cb5f205828 [clang][Interp] Implement nested struct initialization
Recurse into visitInitializer() if necessary.

Differential Revision: https://reviews.llvm.org/D134175
2022-10-14 10:21:53 +02:00
Timm Bäder 0ddd13acc9 [clang][Interp] Implement This pointer passing to methods
Implement passing the this pointer to member functions and constructors.
The this pointer is passed via the stack. This changes the functions to
explicitly track whether they have a RVO pointer and a this pointer.

Differential Revision: https://reviews.llvm.org/D134699
2022-10-14 10:21:53 +02:00
Timm Bäder 1942a2538b [clang][Interp] Start implementing record types
Implement simple constructors as well as member access expressions.

Differential Revision: https://reviews.llvm.org/D134057
2022-10-14 10:21:53 +02:00