[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-30 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG3ad167329aaf: [clang][Interp] Implement function pointers (authored by tbaeder). Changed prior to commit:

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-24 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! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 ___ cfe-commits mailing

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 507966. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Descriptor.cpp

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 507965. tbaeder set the repository for this revision to rG LLVM Github Monorepo. tbaeder added a comment. Okay, fixed this by using `visitZeroInitializer()` so now it's not dead code anymore. TODO: Test zero-initialization of floats. Repository: rG LLVM

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D141472#4217479 , @aaron.ballman wrote: > In D141472#4112790 , @tbaeder wrote: > >> I'm not sure what to do about this right now. I was wondering about >> restructuring pointers so

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D141472#4112790 , @tbaeder wrote: > I'm not sure what to do about this right now. I was wondering about > restructuring pointers so all the metadata is before all the actual data, but > that would be a large

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D141472: [clang][Interp] Add function pointers

2023-03-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D141472: [clang][Interp] Add function pointers

2023-02-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D141472#4107008 , @aaron.ballman wrote: > In D141472#4106091 , @tbaeder wrote: > >>> Member pointers (for functions or for data) are weird in that they're not >>> the typical pointer

[PATCH] D141472: [clang][Interp] Add function pointers

2023-02-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 495786. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Descriptor.cpp

[PATCH] D141472: [clang][Interp] Add function pointers

2023-02-06 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D141472#4106091 , @tbaeder wrote: >> Member pointers (for functions or for data) are weird in that they're not >> the typical pointer width. They're actually a pointer and between >> one-to-three other fields in a

[PATCH] D141472: [clang][Interp] Add function pointers

2023-02-06 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. > Member pointers (for functions or for data) are weird in that they're not the > typical pointer width. They're actually a pointer and between one-to-three > other fields in a trenchcoat, depending on the circumstances. You generally > need the function pointer, but

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-31 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D141472#4092745 , @tbaeder wrote: > In D141472#4091662 , @aaron.ballman > wrote: > >> Design question -- do you anticipate this class handling *all* function >> pointers,

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D141472#4091662 , @aaron.ballman wrote: > Design question -- do you anticipate this class handling *all* function > pointers, including pointer to member functions that might be virtual: > https://godbolt.org/z/hT8fMY37n I

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-30 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Design question -- do you anticipate this class handling *all* function pointers, including pointer to member functions that might be virtual: https://godbolt.org/z/hT8fMY37n CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 492338. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:138-139 case CK_IntegralToPointer: { if (isa(SubExpr)) return this->visit(SubExpr); aaron.ballman wrote: > Can we still

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-18 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:138-139 case CK_IntegralToPointer: { if (isa(SubExpr)) return this->visit(SubExpr); Can we still reach this bit now? CHANGES SINCE LAST ACTION

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 488139. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Descriptor.cpp

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 488135. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141472/new/ https://reviews.llvm.org/D141472 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Descriptor.cpp

[PATCH] D141472: [clang][Interp] Add function pointers

2023-01-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, tahonermann, erichkeane, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This adds a `FunctionPointer` class as well as a