[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-06-16 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG461f91b1e4ef: [clang][Interp] Handle LambdaExprs (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-16 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:954 +bool ByteCodeExprGen::VisitLambdaExpr(const LambdaExpr *E) { + // XXX We assume here that a

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 522204. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeEmitter.h

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-08 Thread Shafik Yaghmour via Phabricator via cfe-commits
shafik added inline comments. Comment at: clang/test/AST/Interp/lambda.cpp:5 +constexpr int a = 12; +constexpr int f = [c = a]() { return c; }(); +static_assert(f == a); Fun case ``` int constexpr f() { return [x = 10] { decltype(x) y; // type int

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-08 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/AST/Interp/lambda.cpp:92 + static_assert(foo() == 1); // expected-error {{not an integral constant expression}} +} + tbaeder wrote: > tbaeder wrote: > > tbaeder wrote: > > > aaron.ballman wrote: > > >

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/lambda.cpp:92 + static_assert(foo() == 1); // expected-error {{not an integral constant expression}} +} + tbaeder wrote: > tbaeder wrote: > > aaron.ballman wrote: > > > How about some tests like:

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/lambda.cpp:92 + static_assert(foo() == 1); // expected-error {{not an integral constant expression}} +} + tbaeder wrote: > aaron.ballman wrote: > > How about some tests like: > > ``` > >

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520155. tbaeder marked 3 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeEmitter.h

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/lambda.cpp:92 + static_assert(foo() == 1); // expected-error {{not an integral constant expression}} +} + aaron.ballman wrote: > How about some tests like: > ``` > constexpr int

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-05 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeEmitter.cpp:56-57 + const Record *R = P.getOrCreateRecord(MD->getParent()); + llvm::DenseMap _LambdaCaptures; + FieldDecl *_LambdaThisCapture; + UB alert -- `_L` is

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-05-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-04-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-04-12 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-04-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-03-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-03-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146030/new/ https://reviews.llvm.org/D146030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D146030: [clang][Interp] Handle LambdaExprs

2023-03-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Unfortunately I couldn't find an existing test