[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 https://lists.llvm.org/cgi

[PATCH] D141497: [clang][Interp] Record initialization via conditional operator

2023-03-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.h:182-183 + template + bool visitConditional(const AbstractConditionalOperator *E, VisitFn V); + erichkeane wrote: > tbaeder wrote: > > aaron.ballman wrote: > > > The template de

[PATCH] D146788: [clang][Interp] Fix zero-initializing of floating types

2023-03-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 508619. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146788/new/ https://reviews.llvm.org/D146788 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/floats.cpp Index: clang/test/AST/

[PATCH] D146358: [clang][AST] Print name instead of type when diagnosing uninitialized subobject in constexpr variables

2023-03-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a subscriber: cjdb. tbaeder added a comment. Pinging @cjdb and @aaron.ballman for some feedback on the wording CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146358/new/ https://reviews.llvm.org/D146358 ___ cfe-commits mailing li

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeStmtGen.cpp:199-200 +bool ByteCodeStmtGen::visitUnscopedCompoundStmt(const Stmt *S) { + if (isa(S)) +return true; + aaron.ballman wrote: > Errr, I'm surprised it isn't UB to call this wi

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 509021. tbaeder set the repository for this revision to rG LLVM Github Monorepo. tbaeder added a comment. Add support for integer complex types as well. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146408/new/

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:1595 +return true; + } else if (const auto *CE = dyn_cast(Initializer)) { +if (!this->emitDupPtr(Initializer)) aaron.ballman wrote: > Member calls as well? Yes, and some

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/PrimType.h:108 +switch (Expr) { \ + TYPE_SWITCH_CASE(PT_Sint8, B) \ + TYPE_SWITCH_CASE(PT_Uint8, B

[PATCH] D146408: [clang][Interp] Start supporting complex types

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

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 509264. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145545/new/ https://reviews.llvm.org/D145545 Files: clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.h Index: clang/lib/A

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 3 inline comments as done. tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeStmtGen.cpp:324-328 + LocalScope Scope(this); + if (!this->visitUnscopedCompoundStmt(Body)) return false; + + Scope.emitDestructors(); aaron.

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 509279. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145545/new/ https://reviews.llvm.org/D145545 Files: clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.h Index: clang/lib/A

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 509281. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145545/new/ https://reviews.llvm.org/D145545 Files: clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.h Index: clang/lib/A

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 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.h:338 +this->emitDestructors(); +this->Ctx->emitDestroy(*Idx, SourceInfo{}); + } aaron.ballman wrote: > Should we be setting `Idx =

[PATCH] D146376: Update static_assert message for redundant cases

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Make sure to include context in the patch you upload: https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146376/new/ https://reviews.llvm.org/D146

[PATCH] D146376: Update static_assert message for redundant cases

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16732 +// Ignore BO_LOr operators at the toplevel. +if (Op->getOpcode() == BO_LOr) + return; tbaeder wrote: > You can just drop the comment and move this into the `if` statemen

[PATCH] D147037: [Clang][ICE] Corrected invalid invalid parameter index on some attributes with invalid indices applied to varargs functions

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:3764-3767 if (!checkFunctionOrMethodParameterIndex(S, D, AL, 1, IdxExpr, Idx)) return; - + if (Idx.getASTIndex() >= getFunctionOrMethodNumParams(D)) +return; erichkeane wrote:

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 509359. tbaeder set the repository for this revision to rG LLVM Github Monorepo. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146408/new/ https://reviews.llvm.org/D146408 Files: clang/lib/AST/Interp/ByteCodeE

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/PrimType.h:108 +switch (Expr) { \ + TYPE_SWITCH_CASE(PT_Sint8, B) \ + TYPE_SWITCH_CASE(PT_Uint8, B

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added a comment. Thanks, I'll verify the patch once again with an msan build before I push, just to be sure. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145545/new/ https://reviews.llvm.org/D145545 ___

[PATCH] D146408: [clang][Interp] Start supporting complex types

2023-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/PrimType.h:108 +switch (Expr) { \ + TYPE_SWITCH_CASE(PT_Sint8, B) \ + TYPE_SWITCH_CASE(PT_Uint8, B

[PATCH] D144272: [clang][Interp] Ignore StaticAssertDecls

2023-02-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/D144272/new/ https://reviews.llvm.org/D144272 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D144943: [clang][Interp] Implement bitcasts (WIP)

2023-02-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafi.ahmad. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This implements bitcasts by traversing the poi

[PATCH] D144943: [clang][Interp] Implement bitcasts (WIP)

2023-02-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:92 + // FIXME: Diagnostics. + if (*ToT == PT_Ptr) +return false; One of the problems here is that right now, //all// diagnostics are emitted during interpretation time. =

[PATCH] D140803: [clang][Interp] Implement C++ Range-for loops

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

[PATCH] D138802: [clang][Interp] Implement DecompositionDecls

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

[PATCH] D138275: [clang][Interp] Avoid leaking init maps of local primitive arrays

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

[PATCH] D136751: [clang][Interp] This pointers are writable in constructors

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

[PATCH] D136751: [clang][Interp] This pointers are writable in constructors

2023-02-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 501380. tbaeder marked 2 inline comments as done. tbaeder added a comment. Added the new test case. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136751/new/ https://reviews.llvm.org/D136751 Files: clang/lib/AST/Interp/Function.h clang/lib/AST/

[PATCH] D143480: [clang][Interp] Fix derived-to-base casts for >1 levels

2023-03-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/D143480/new/ https://reviews.llvm.org/D143480 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D143466: [clang][Interp] Fix initializing base class members

2023-03-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/D143466/new/ https://reviews.llvm.org/D143466 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D143334: [clang][Interp] Fix diagnosing uninitialized ctor record arrays

2023-03-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/D143334/new/ https://reviews.llvm.org/D143334 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D142630: [clang][Interp] Implement virtual function calls

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/D142630/new/ https://reviews.llvm.org/D142630 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D142617: [clang][Interp] Check This pointer without creating InterpFrame

2023-03-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/D142617/new/ https://reviews.llvm.org/D142617 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D141591: [clang][Interp] Properly identify not-yet-defined functions

2023-03-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:1486 bool IsBeingCompiled = Func && !Func->isFullyCompiled(); - bool WasNotDefined = Func && !Func->hasBody(); + bool WasNotDefined = Func && !Func->isConstexpr() && !Func->hasBody(); -

[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] D136751: [clang][Interp] This pointers are writable in constructors

2023-03-01 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8d09bd616be8: [clang][Interp] This pointers are writable in de-/constructors (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136751/new/

[PATCH] D142617: [clang][Interp] Check This pointer without creating InterpFrame

2023-03-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 501502. tbaeder added a comment. Added an `aligned()` assertion and renamed the old `peek(unsigned Offset)` returning a `void*` to `peekData()`, so both `peek` overloads are now public member functions. CHANGES SINCE LAST ACTION https://reviews.llvm.org/

[PATCH] D142630: [clang][Interp] Implement virtual function calls

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

[PATCH] D138802: [clang][Interp] Implement DecompositionDecls

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

[PATCH] D140668: [clang][Interp] Implement remaining bits for MaterializeTemporaryExprs

2023-03-01 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 rGf18b71d14f7e: [clang][Interp] Implement remaining MaterializeTemporaryExpr bits (authored by tbaeder). Changed prior to commit: https://reviews.ll

[PATCH] D140776: [clang][Interp] Handle defined functions without a body

2023-03-01 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 rGbf6c1344ec18: [clang][Interp] Handle defined functions without a body (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LA

[PATCH] D140803: [clang][Interp] Implement C++ Range-for loops

2023-03-02 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 rGbce8b3c18304: [clang][Interp] Implement C++ Range-for loops (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D140723: [clang][Interp] Only check constructors for global variables

2023-03-02 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 rG569222e172e5: [clang][Interp] Only check constructors for global variables (authored by tbaeder). Changed prior to commit: https://reviews.llvm.or

[PATCH] D140805: [clang][Interp] Add ArrayElemPtr{,Pop} opcode

2023-03-02 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 rG6b5afda61c4a: [clang][Interp] Add ArrayElemPtr{,Pop} opcode (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D140808: [clang][Interp] Handle record initialization via CastExpr

2023-03-02 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 rG90d921fa1f71: [clang][Interp] Handle record initialization via CastExpr (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D

[PATCH] D142328: [clang][Interp] Fix compound assign operator types

2023-03-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. All the interpreter work is experimental so it doesn't really need to be in the release branch. This should all be fine, thanks for asking. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142328/new/ https://reviews.llvm.org

[PATCH] D137070: [clang][Interp] Support destructors

2023-03-05 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 rG78e4237460bf: [clang][Interp] Support destructors (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D137070?vs=494660&id=50

[PATCH] D145545: [clang][Interp] Fix local variable (destructor) management in loop bodies

2023-03-07 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. Ok, let me explain. PREVIOUSLY: When generating b

[PATCH] D143466: [clang][Interp] Fix initializing base class members

2023-03-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added a comment. The tests you proposed need https://reviews.llvm.org/D143480 first so we can cast up more than one level. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143466/new/ https://reviews.

[PATCH] D143480: [clang][Interp] Fix derived-to-base casts for >1 levels

2023-03-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 504022. tbaeder marked 2 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143480/new/ https://reviews.llvm.org/D143480 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/test/AST/I

[PATCH] D143480: [clang][Interp] Fix derived-to-base casts for >1 levels

2023-03-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:266 }; #endif aaron.ballman wrote: > I think it'd be good to add test coverage for cases like: > https://godbolt.org/z/GnPnP4z76 That even worked :) CHANGES SINCE LAST ACTION ht

[PATCH] D141194: [clang][Interp] Implement bitcasts

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder abandoned this revision. tbaeder added a comment. Abandoning this since it's superseded by https://reviews.llvm.org/D144943 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141194/new/ https://reviews.llvm.org/D141194

[PATCH] D141497: [clang][Interp] Record initialization via conditional operator

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 504079. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141497/new/ https://reviews.llvm.org/D141497 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/test/AST/Interp/records.cpp Index: clang/test/AST/I

[PATCH] D145769: [clang] Extract ParsedAttrInfo::hasSpelling method (NFC)

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/include/clang/Basic/ParsedAttrInfo.h:92 + /// Check if this attribute has specified spelling. + bool hasSpelling(AttributeCommonInfo::Syntax Syntax, StringRef Name) { +return llvm::any_of(Spellings, [&] (const Spelling &S) {

[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] D144164: [clang][Interp] Handle PtrMemOps

2023-03-10 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/D144164/new/ https://reviews.llvm.org/D144164 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D144457: [clang][Interp] Handle global composite temporaries

2023-03-10 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/D144457/new/ https://reviews.llvm.org/D144457 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D143466: [clang][Interp] Fix initializing base class members

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 504146. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143466/new/ https://reviews.llvm.org/D143466 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Interp.cpp clang/lib/AST/Interp/Record.cpp clang/lib/AST/Interp/Record.h

[PATCH] D143466: [clang][Interp] Fix initializing base class members

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:271 + static_assert(d.B::a == 12); + static_assert(d.C::a == 0); }; These lines are added by https://reviews.llvm.org/D143480 now, but the te

[PATCH] D145793: [clang][AST] Improve diagnostic for `nullptr` constexpr function pointer call

2023-03-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:7673 +Info.FFDiag(Callee, diag::note_constexpr_null_callee) +<< const_cast(Callee); +return false; Is the `const_cast` really necessary? Repository: rG LLVM

[PATCH] D145841: [clang][Interp] Fix diagnostics for calling non-constexpr constructors

2023-03-11 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. Repository: rG LLVM Github Monorepo https://revi

[PATCH] D144943: [clang][Interp] Implement bitcasts (WIP)

2023-03-11 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/D144943/new/ https://reviews.llvm.org/D144943 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D145841: [clang][Interp] Fix diagnostics for calling non-constexpr constructors

2023-03-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 504406. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145841/new/ https://reviews.llvm.org/D145841 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/cxx20.cpp clang/test/AST/Interp/records.cpp Index: clang/test/AST/Interp/

[PATCH] D145860: [clang][Interp] Fix initializing fields after base class members

2023-03-11 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. Repository: rG LLVM Github Monorepo https://revi

[PATCH] D145861: [clang][Interp] Ignore more non-VarDecl declarations

2023-03-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a subscriber: kristof.beyls. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. They ar

[PATCH] D145947: [clang][sema][NFC] Make a few functions const

2023-03-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. NFC but I thought I'd at least better ask. Repository: rG LLVM Github Monorepo

[PATCH] D145861: [clang][Interp] Ignore more non-VarDecl declarations

2023-03-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeStmtGen.cpp:224 for (auto *D : DS->decls()) { -if (isa(D)) +if (isa(D)) continue; aaron.ballman wrote: > What about other kinds of declarations, such as typedefs or function

[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 file

[PATCH] D145947: [clang][sema][NFC] Make a few functions const

2023-03-14 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6603c68302c1: [clang][sema][NFC] Make a few functions const (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145947/new/ https://reviews

[PATCH] D153241: [clang][Diagnostics] Provide source range to invalid casts in const expr

2023-06-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, hazohelet, cjdb. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm

[PATCH] D152132: [clang][Inter] Fix lifetime diagnostics for dead records

2023-06-19 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/D152132/new/ https://reviews.llvm.org/D152132 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

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

[PATCH] D153276: [clang][Interp] Reject reinterpret_cast expressions

2023-06-19 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. Add a new `InvalidCast` op for this purpose and emi

[PATCH] D152548: [Clang][Interp] Diagnose uninitialized ctor of global record arrays

2023-06-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder accepted this revision. tbaeder added a comment. This revision is now accepted and ready to land. LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152548/new/ https://reviews.llvm.org/D152548 ___ cfe-commits mailing list cfe-commits

[PATCH] D153267: [clang][Diagnostics] Provide parameter source range to arity-mismatch notes

2023-06-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. LGTM but let's wait for a second opinion. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153267/new/ https://reviews.llvm.org/D153267 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D153359: [clang][Diagnostics] Fix distant source ranges in bad-conversion notes

2023-06-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Can you post a before/after comparison of the exact output for that example? Comment at: clang/lib/Sema/SemaOverload.cpp:10752 QualType ToTy = Conv.Bad.getToType(); + ParmVarDecl *ToPVD = !isObjectArgument ? Fn->getParamDecl(I) : nullptr;

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-06-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 533175. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152504/new/ https://reviews.llvm.org/D152504 Files: clang/include/clang/Analysis/CFG.h clang/lib/Analysis/CFG.cpp clang/lib/Analysis/ThreadSafety.cpp clang/test/Sema/warn-thread-safety-ana

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-06-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Added a new element for cleanup functions. Comment at: clang/lib/Analysis/ThreadSafety.cpp:2436 +CF.getVarDecl()->getLocation()); + break; +} This handles the function call, but witho

[PATCH] D153276: [clang][Interp] Reject reinterpret_cast expressions

2023-06-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.h:1854 + S.FFDiag(Loc, diag::note_constexpr_invalid_cast) + << static_cast(Kind) << S.Current->getRange(OpPC); + return false; aaron.ballman wrote: > Should this be doing the cast? The

[PATCH] D153276: [clang][Interp] Reject reinterpret_cast expressions

2023-06-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 533238. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153276/new/ https://reviews.llvm.org/D153276 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Disasm.cpp clang/lib/AST/Interp/Int

[PATCH] D153001: [clang][ThreadSafety] Add __builtin_instance_member (WIP)

2023-06-22 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/D153001/new/ https://reviews.llvm.org/D153001 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D153616: [clang][Interp] Create a new local variable in visitLambdaExpr()

2023-06-23 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. Move the logic for initialization of a lambda int

[PATCH] D153536: [Clang] Implement P2169 A nice placeholder with no name

2023-06-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Lexer/unicode.c:30 -int _; +int a; Are these changes only for the case where we compile as c++? I know lots of C (and c++?) projects use `_` as GNU gettext identifier to mark a translatable strin

[PATCH] D153649: [clang][Interp] Fix return statements with expresssion in void functions

2023-06-23 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. If the return type of a function is void, ReturnT

[PATCH] D153649: [clang][Interp] Fix return statements with expresssion in void functions

2023-06-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 534021. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153649/new/ https://reviews.llvm.org/D153649 Files: clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/test/AST/Interp/functions.cpp Index: clang/test/AST/Interp/functions.cpp ==

[PATCH] D153653: [clang][Interp] Make CXXTemporaryObjectExprs leave a value behind

2023-06-23 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. visitLocalInitializer() pops the pointer from the

[PATCH] D153689: [clang][Interp] Handle CXXConstructExprs

2023-06-23 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. Fixes a so far broken Lambda test case. Repositor

[PATCH] D153653: [clang][Interp] Make CXXTemporaryObjectExprs leave a value behind

2023-06-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 534174. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153653/new/ https://reviews.llvm.org/D153653 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/records.cpp Index: clang/test/AST/Interp/records.cpp ==

[PATCH] D153693: [clang][Interp] Handle InitListExprs of composite type

2023-06-24 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. They might appear freestanding, not as part of an

[PATCH] D153695: [clang][Interp] Fix passing parameters of composite type

2023-06-24 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. We pass these as pointers, so we need to be caref

[PATCH] D144164: [clang][Interp] Handle PtrMemOps

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

[PATCH] D153849: [clang][Diagnostics] Fix diagnostic line numbers

2023-06-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: cjdb, aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The first line of the code snippet we print is potentially lower than the

[PATCH] D153241: [clang][Diagnostics] Provide source range to invalid casts in const expr

2023-06-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/D153241/new/ https://reviews.llvm.org/D153241 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-06-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 2 inline comments as done. tbaeder added inline comments. Comment at: clang/test/Sema/warn-thread-safety-analysis.c:76-77 +void cleanup_int(int *unused) __attribute__((release_capability(mu1))) { + (void)unused; + mutex_exclusive_unlock(&mu1);

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-06-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 534982. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152504/new/ https://reviews.llvm.org/D152504 Files: clang/include/clang/Analysis/CFG.h clang/lib/Analysis/CFG.cpp clang/lib/Analysis/ThreadSafety.cp

[PATCH] D153001: [clang][ThreadSafety] Add __builtin_instance_member (WIP)

2023-06-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Didn't remember and re-checked, using it that way makes the implementation harder I think: tsa2.c:7:54: error: incomplete definition of type 'struct Mutex' 7 | int counter GUARDED_BY(__builtin_instance_member(M)->M); |

[PATCH] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-06-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Analysis/ThreadSafety.cpp:2436 +CF.getVarDecl()->getLocation()); + break; +} aaronpuchert wrote: > aaronpuchert wrote: > > tbaeder wrote: > > > This handles

[PATCH] D153969: [clang][ExprConstant] Fix crash on uninitialized base class subobject

2023-06-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:2422 + << BS.getType(); + Info.Note(BS.getBeginLoc(), diag::note_constexpr_base_inherited_here); + return false; Can you pass `<< BS.getSourceRange()` here?

[PATCH] D153653: [clang][Interp] Make CXXTemporaryObjectExprs leave a value behind

2023-06-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:1022 + +if (DiscardResult) + return this->emitPopPtr(E); shafik wrote: > Could you just pass `DiscardResult` to `visitLocalInitializer` Nope, the `visitInitializer` funct

<    11   12   13   14   15   16   17   18   19   20   >