[PATCH] D156400: [clang][Interp] Implement __builtin_offsetof

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

[PATCH] D156453: [clang][Interp] Create only globals when initializing a global variable

2023-07-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For this code: struct O { int & }; O

[PATCH] D156047: [clang][Interp] Handle CXXParenListInitExprs

2023-07-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. > Also, can you try to add the new interpreter to > test/SemaCXX/paren-list-agg-init.cpp ? Hmm no, looks like there's a problem with rvalue references. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156047/new/ https://reviews.llvm.org/D156047

[PATCH] D156400: [clang][Interp] Implement __builtin_offsetof

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

[PATCH] D156047: [clang][Interp] Handle CXXParenListInitExprs

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

[PATCH] D155546: [clang][Interp] Implement __builtin_fmin

2023-07-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 544691. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155546/new/ https://reviews.llvm.org/D155546 Files: clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index: clang/test/AST/Interp/builtin-functions.cpp

[PATCH] D156047: [clang][Interp] Handle CXXParenListInitExprs

2023-07-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:661 assert(E->getNumInits() == 1); return DiscardResult ? this->discard(E->inits()[0]) : this->visit(E->inits()[0]); cor3ntin wrote: > how

[PATCH] D156400: [clang][Interp] Implement __builtin_offsetof

2023-07-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Put all the index expressions on the stack and cast

[PATCH] D155165: [clang][Interp] Fully serialize Floatings to bytes

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

[PATCH] D155356: [clang][Interp] Implement __builtin_nan family of functions

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 544435. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155356/new/ https://reviews.llvm.org/D155356 Files: clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index: clang/test/AST/Interp/builtin-functions.cpp

[PATCH] D155356: [clang][Interp] Implement __builtin_nan family of functions

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/builtin-functions.cpp:53 + constexpr char f[] = {'0', 'x', 'A', 'E', '\0'}; + constexpr double NaN6 = __builtin_nan(f); // ref-error {{must be initialized by a constant expression}} +

[PATCH] D155356: [clang][Interp] Implement __builtin_nan family of functions

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/builtin-functions.cpp:53 + constexpr char f[] = {'0', 'x', 'A', 'E', '\0'}; + constexpr double NaN6 = __builtin_nan(f); // ref-error {{must be initialized by a constant expression}} +

[PATCH] D156027: [clang][Interp] Rework how initializers work

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:240 +return Initializing ? this->visitInitializer(SubExpr) +: this->visit(SubExpr); This pattern shows up a few times, so it might make sense to add

[PATCH] D150946: [clang][Interp] PointerToIntegral casts

2023-07-26 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 rGae4849f96706: [clang][Interp] PointerToIntegral casts (authored by tbaeder). Changed prior to commit:

[PATCH] D154475: [clang][Interp] Fix ignoring MaterializeTemporaryExprs

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

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-26 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 rG378fcbf20ff8: [clang][Interp] Handle CXXNoexceptExprs (authored by tbaeder). Changed prior to commit:

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

2023-07-26 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 rG744a968f91f7: [clang][Interp] Fix return statements with expresssion in void functions (authored by tbaeder). Changed prior to commit:

[PATCH] D155356: [clang][Interp] Implement __builtin_nan family of functions

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 544258. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155356/new/ https://reviews.llvm.org/D155356 Files: clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index: clang/test/AST/Interp/builtin-functions.cpp

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

2023-07-26 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Yeah sorry about that, but should already be fixed by https://github.com/llvm/llvm-project/commit/47446939e0e60cf52ffdd3fa671949ff3183a4c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153276/new/

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

2023-07-26 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 rG8c0246c7f517: [clang][Interp] Reject reinterpret_casts (authored by tbaeder). Changed prior to commit:

[PATCH] D154795: [clang][Interp] Check pointers for live-ness when returning them

2023-07-26 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 rGc7251385c85d: [clang][Interp] Check pointers for live-ness when returning them (authored by tbaeder). Changed prior to commit:

[PATCH] D150566: [clang] Provide source range to 'invalid subexpr in const expr' diags

2023-07-26 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 rG7a3ad8ed77ee: [clang] Provide source range to invalid subexpr in const expr diags (authored by tbaeder). Repository: rG LLVM Github Monorepo

[PATCH] D150364: [clang][Interp] Add 'Invalid' opcode and use it for throw/asm stmts

2023-07-26 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 rG7d876c62a306: [clang][Interp] Add Invalid opcode and use it for throw stmts (authored by tbaeder). Changed prior to commit:

[PATCH] D150358: [clang][Interp] Remove args from called functions in more cases

2023-07-26 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 rG8a4bbeb9168c: [clang][Interp] Remove args from called functions in more cases (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D150111: [clang][Interp] Implement lambda static invokers

2023-07-26 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 rG6d2e141e5c0d: [clang][Interp] Handle lambda static invokers (authored by tbaeder). Changed prior to commit:

[PATCH] D155545: [clang][Interp] Pass CallExpr to builtin functions

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

[PATCH] D148982: [clang][Interp] Fix ignoring conditional operators

2023-07-25 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 rG2606545b0204: [clang][Interp] Fix ignoring conditional operators (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D148925: [clang][Interp] Fix discarding void-typed comma expressions

2023-07-25 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 rGaed9646d8e29: [clang][Interp] Fix discarding void-typed comma expressions (authored by tbaeder). Changed prior to commit:

[PATCH] D156277: [Parser][ObjC] Stop parsing on eof

2023-07-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Parse/ParseObjc.cpp:749 + if (!Tok.is(tok::eof)) +ConsumeToken(); break; Why is there a `ConsumeToken()` call at all here? The token is already being consumed in line 729. Repository:

[PATCH] D147591: [clang][Interp] Handle CXXTemporaryObjectExprs

2023-07-25 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 rGe45d1997686c: [clang][Interp] Handle CXXTemporaryObjectExprs (authored by tbaeder). Changed prior to commit:

[PATCH] D150040: [clang][Interp] Call invalid destructors

2023-07-25 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 rG10020791b18f: [clang][Interp] Call invalid destructors (authored by tbaeder). Changed prior to commit:

[PATCH] D148690: [clang][Interp] Handle __extension__ unary operators

2023-07-25 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 rG78e774e0c827: [clang][Interp] Handle __extension__ unary operators (authored by tbaeder). Changed prior to commit:

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

2023-07-25 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 rG8cb6e476ccaa: [clang][Interp] Handle PtrMemOps (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D156027: [clang][Interp] Rework how initializers work

2023-07-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Note that this patch also supercedes: 1. https://reviews.llvm.org/D153616 2. https://reviews.llvm.org/D153653 3. https://reviews.llvm.org/D147591 since it handles those cases more generally. Comment at: clang/lib/AST/Interp/Context.cpp:131 if

[PATCH] D154951: [clang][Interp] __builtin_bit_cast, Take 2

2023-07-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Boolean.h:113 + static Boolean bitcastFromMemory(const std::byte *Buff) { +bool Val = static_cast(*Buff); +return Boolean(Val); MitalAshok wrote: > Does this handle padding bits correctly?

[PATCH] D155572: [clang][Interp] Start implementing binary operators for complex types

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

[PATCH] D155548: [clang][ExprConst] Short-circuit ConstantExpr evaluation

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

[PATCH] D155270: [clang][Interp] Basic support for bit fields

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

[PATCH] D154951: [clang][Interp] __builtin_bit_cast, Take 2

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

[PATCH] D154581: [clang][Interp] Track existing InitMaps in InterpState

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

[PATCH] D154189: [clang][Interp] Implement zero-init of record types

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

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

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

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

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

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

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

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

2023-07-25 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

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

2023-07-25 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

[PATCH] D155394: [clang][Interp] Implement __builtin_fpclassify

2023-07-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543854. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155394/new/ https://reviews.llvm.org/D155394 Files: clang/lib/AST/Interp/Floating.h clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index:

[PATCH] D156212: [clang][Interp] Implement remaining strcmp builtins

2023-07-25 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. 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

[PATCH] D156047: [clang][Interp] Handle CXXParenListInitExprs

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

[PATCH] D155430: [clang][Interp] Implement __arithmethic_fence for floating types

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

[PATCH] D155394: [clang][Interp] Implement __builtin_fpclassify

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

[PATCH] D155393: [clang][Interp] Implement __builtin_isfpclass

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

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

2023-07-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ping 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] D152246: [clang][ThreadSafety] Analyze known function pointer values

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

[PATCH] D156042: [clang][Interp] Implement __builtin_strlen

2023-07-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543414. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156042/new/ https://reviews.llvm.org/D156042 Files: clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index:

[PATCH] D155568: [clang][Interp] Make sure we push integers of the correct size

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543321. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155568/new/ https://reviews.llvm.org/D155568 Files: clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/InterpBuiltin.cpp Index: clang/lib/AST/Interp/InterpBuiltin.cpp

[PATCH] D155568: [clang][Interp] Make sure we push integers of the correct size

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543320. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155568/new/ https://reviews.llvm.org/D155568 Files: clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/InterpBuiltin.cpp Index: clang/lib/AST/Interp/InterpBuiltin.cpp

[PATCH] D156042: [clang][Interp] Implement __builtin_strlen

2023-07-23 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/InterpBuiltin.cpp:114 + + // TODO: Push platform-dependent size_t. + S.Stk.push>(Integral<64, false>::from(Len)); cor3ntin wrote: > Why not do that in

[PATCH] D156042: [clang][Interp] Implement __builtin_strlen

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543317. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156042/new/ https://reviews.llvm.org/D156042 Files: clang/lib/AST/Interp/InterpBuiltin.cpp clang/test/AST/Interp/builtin-functions.cpp Index: clang/test/AST/Interp/builtin-functions.cpp

[PATCH] D152495: [Clang][SemaCXX] Add unused warning for variables declared in condition expressions

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. @cor3ntin It's next week :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152495/new/ https://reviews.llvm.org/D152495 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154688: [clang] Show verify prefix in error messages

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Frontend/verify.c:159 + +// what-error {{huh?}} +// CHECK9: error: 'what-error' diagnostics expected but not seen: MaskRay wrote: > This may need a comment explaining that this is not recognized as a

[PATCH] D154688: [clang] Show verify prefix in error messages

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543298. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154688/new/ https://reviews.llvm.org/D154688 Files: clang/lib/Frontend/VerifyDiagnosticConsumer.cpp clang/test/ARCMT/verify.m

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543266. tbaeder added a comment. Always ignore the operand expression. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155707/new/ https://reviews.llvm.org/D155707 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-23 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:1203 + if (DiscardResult) +return this->discard(Operand); + return this->emitConstBool(E->getValue(), E); Looks like this is

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-23 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/literals.cpp:1037-1045 +namespace NE { + constexpr int foo() noexcept { +return 1; + } + static_assert(noexcept(foo()), ""); + constexpr int foo2() { +return 1;

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543265. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155707/new/ https://reviews.llvm.org/D155707 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/test/AST/Interp/literals.cpp

[PATCH] D154688: [clang] Show verify prefix in error messages

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543260. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154688/new/ https://reviews.llvm.org/D154688 Files: clang/lib/Frontend/VerifyDiagnosticConsumer.cpp clang/test/ARCMT/verify.m clang/test/Frontend/verify-any-file.c

[PATCH] D149013: [clang][Interp] Check pointers when accessing base class

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

[PATCH] D156047: [clang][Interp] Handle CXXParenListInitExprs

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. 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

[PATCH] D156027: [clang][Interp] Rework how initializers work

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543255. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156027/new/ https://reviews.llvm.org/D156027 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Context.cpp Index:

[PATCH] D156045: [clang][Interp] Enable existing source_location tests

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/SemaCXX/source_location.cpp:764-768 +#if defined(USE_CONSTEVAL) && !defined(NEW_INTERP) static_assert(test_init_capture() == __LINE__ - 4); #else static_assert(test_init_capture() == __LINE__ ); #endif

[PATCH] D156045: [clang][Interp] Enable existing source_location tests

2023-07-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As requested. This depends on a few other patches

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. @cor3ntin Ok, I need... - https://reviews.llvm.org/D155707 - https://reviews.llvm.org/D156027 - https://reviews.llvm.org/D156042 to enable the existing tests with at least one of the RUN lines. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155627/new/

[PATCH] D156042: [clang][Interp] Implement __builtin_strlen

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. 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

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543249. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155627/new/ https://reviews.llvm.org/D155627 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Program.cpp

[PATCH] D155568: [clang][Interp] Make sure we push integers of the correct size

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. This patch is missing the `Ret` part in `InterpBuiltin()` in the same file. That needs to change to the correct type as well. I can do that in a follow-up commit. @aaron.ballman Can you come up with a value I can pass to `-triple` so I can actually test that this

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 543212. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155627/new/ https://reviews.llvm.org/D155627 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Program.cpp

[PATCH] D156027: [clang][Interp] Rework how initializers work

2023-07-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Before this patch, we had `visitRecordInitializer()`

[PATCH] D155546: [clang][Interp] Implement __builtin_fmin

2023-07-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D155546#4510691 , @aaron.ballman wrote: > I'd like to see test coverage for treatment of NaNs. According to the C23 > standard, a quiet NaN is treated as missing data for fmax and fmin; so if > there's a quiet NaN and a

[PATCH] D154688: [clang] Show verify prefix in error messages

2023-07-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 542768. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154688/new/ https://reviews.llvm.org/D154688 Files: clang/lib/Frontend/VerifyDiagnosticConsumer.cpp clang/test/Frontend/verify-any-file.c clang/test/Frontend/verify-fatal.c

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

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:234 + if (!LT || !RT || !T) +return this->bail(BO); aaron.ballman wrote: > Should we be checking `!T` earlier (it's used within the `Discard` lambda > with an unprotected

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

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 542762. tbaeder marked 2 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144164/new/ https://reviews.llvm.org/D144164 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp

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

2023-07-20 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:213-214 + if (BO->isPtrMemOp()) +return this->visit(RHS); + aaron.ballman wrote: > tbaeder wrote: > > aaron.ballman wrote: > > >

[PATCH] D149550: [clang][Interp] Fix compound assign operator evaluation order

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa1c0e3be6f09: [clang][Interp] Fix compound assign operator evaluation order (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149550/new/

[PATCH] D149816: [clang][Interp] Implement __builtin_strcmp

2023-07-20 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 rGeaadbcd5e068: [clang][Interp] Implement __builtin_strcmp (authored by tbaeder). Changed prior to commit:

[PATCH] D150209: [clang][Interp] Add more shift error checking

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd6b0af0574ca: [clang][Interp] Add more shift error checking (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150209/new/

[PATCH] D154928: [clang][Interp] Call dtor of Floating values

2023-07-20 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 rGaf67614f7905: [clang][Interp] Call dtor of Floating values (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D155584: [clang][NFC] Simplify SourceLocExpr::EvaluateInContext

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5522e316f91e: [clang][NFC] Simplify SourceLocExpr::EvaluateInContext (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155584/new/

[PATCH] D155165: [clang][Interp] Fully serialize Floatings to bytes

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

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

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:213-214 + if (BO->isPtrMemOp()) +return this->visit(RHS); + aaron.ballman wrote: > Do we need similar changes for unary operators, pointer arithmetic operators, > etc? In

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 542420. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155627/new/ https://reviews.llvm.org/D155627 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Program.cpp

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-20 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/builtin-functions.cpp:153 + static_assert(__builtin_LINE() == 152, ""); +} cor3ntin wrote: > tbaeder wrote: > > tbaeder wrote: > > > cor3ntin wrote: > > > > what is missing to enable the existing

[PATCH] D154475: [clang][Interp] Fix ignoring MaterializeTemporaryExprs

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

[PATCH] D154262: [clang][Interp] LambdaThisCaptures

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

[PATCH] D154688: [clang] Show verify prefix in error messages

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

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/builtin-functions.cpp:153 + static_assert(__builtin_LINE() == 152, ""); +} tbaeder wrote: > cor3ntin wrote: > > what is missing to enable the existing source location tests with the new > >

[PATCH] D155710: [clang][Interp] Create a new local varible in VisitCXXDefaultArgExpr

2023-07-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. If the argument is of composite type, we need a

[PATCH] D155707: [clang][Interp] Handle CXXNoexceptExprs

2023-07-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, cor3ntin. 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

[PATCH] D155610: [Clang][ExprConstant] Print integer instead of character on static assertion failure

2023-07-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. I think the discussion is getting derailed a bit. The original reason I was talking to Takuya about this is this: https://godbolt.org/z/GjsYrexT3 static_assert('a' == 100); For code like this, we print the it as `''a' == 100'`, but the AST contains a cast from the

[PATCH] D155627: [clang][Interp] Handle SourceLocExprs

2023-07-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D155627#4513433 , @cor3ntin wrote: > Note that you are probably need something like `SourceLocExprScopeGuard` to > make source_location actually work, , it might be worth doing in this patch. > The idea is to remember the

<    1   2   3   4   5   6   7   8   9   10   >