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

2023-07-19 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] D155545: [clang][Interp] Pass CallExpr to builtin functions

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

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. One thing I'm wondering though is: constexpr char A[] = {'1', '2', '3'}; constexpr double d = __builtin_nans(A); what's expected here? The given char array is not null-terminated. Should the interpreter ignore the null byte at the end if it's there?

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 541833. tbaeder marked an inline comment as done. 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:

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 2 inline comments as done. tbaeder added inline comments. Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:106 +// 2008 revisions, MIPS interpreted sNaN-2008 as qNan and qNaN-2008 as +// sNaN. This is now known as "legacy NaN" encoding. +if

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 541832. tbaeder marked 3 inline comments as done. 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:

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/builtin-functions.cpp:44 + + constexpr float Nan2 = __builtin_nans([](){return "0xAE98";}()); // ref-error {{must be initialized by a constant expression}} +} aaron.ballman wrote: > Probably

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

2023-07-18 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. This is a bit awkward, since we get an `APValue` from

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. What if you switch from `IgnoreParenImpCasts` at the top of `DiagnoseStaticAssertDetails()` to just `IgnoreParens()`? That improve cases where we simply compare a character literal to an integer, since the literal should be implicitly cast to an integer. Repository:

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:36 +/// Pushes \p Val to the stack, as a target-dependent 'int'. +static void pushInt(InterpState , int32_t Val) { + const TargetInfo = S.getCtx().getTargetInfo(); aaron.ballman

[PATCH] D155573: [Clang] Fix the location of default init expressions

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/SemaCXX/source_location.cpp:796 +static_assert(S(0).i == S{0}.i); +static_assert(S(0).j == S{0}.i); +} aaron.ballman wrote: > cor3ntin wrote: > > aaron.ballman wrote: > > > Shouldn't this test fail because `i

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: clang. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Use ASTContext::MakeIntValue and remove the std::tie+lambda weirdness. Repository:

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

2023-07-18 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] D155568: [clang][Interp] Make sure we push integers of the correct size

2023-07-18 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. Integers might not be 32 bits wide, so check the

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D155548#4509056 , @cor3ntin wrote: > I think this does make sense. Have you notice an impact on performance? No, but my local builds are debug builds and I have sanitizers enabled. When compiling the sqlite amalgamation, I

[PATCH] D155552: [clang][Interp] Support __null

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

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

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. `clang/test/Sema/constant-builtins-fmin.cpp` actually needed quite a lot of builtins before it could succeed, so it's enabled in https://reviews.llvm.org/D155369 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155546/new/

[PATCH] D155369: [clang][Interp] Implement __builtin_isnan()

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

[PATCH] D154366: [clang][ExprConstant] Print template arguments when describing stack frame

2023-07-18 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. LGTM from my side, does anyone else still have a problem? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154366/new/ https://reviews.llvm.org/D154366 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D155552: [clang][Interp] Support __null

2023-07-18 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] D154581: [clang][Interp] Track existing InitMaps in InterpState

2023-07-18 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-18 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] D153693: [clang][Interp] Handle InitListExprs of composite type

2023-07-18 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] D153689: [clang][Interp] Handle CXXConstructExprs

2023-07-18 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] D153653: [clang][Interp] Make CXXTemporaryObjectExprs leave a value behind

2023-07-18 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-18 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-18 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] D155548: [clang][ExprConst] Short-circuit ConstantExpr evaluation

2023-07-18 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. I think this makes sense to do, given that the

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

2023-07-18 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] D155368: [clang][Interp] __builtin_copysign

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

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

2023-07-18 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. Split out from https://reviews.llvm.org/D155368

[PATCH] D155368: [clang][Interp] __builtin_copysign

2023-07-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. I can add some basic tests for `__builtin_copysign` here, but there are test added in https://reviews.llvm.org/D155369 as well. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155368/new/ https://reviews.llvm.org/D155368

[PATCH] D155372: [clang][Interp] Implement __builtin_isfinite

2023-07-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:194 + + S.Stk.push>(Integral<32, true>::from(Arg.isFinite())); + return true; aaron.ballman wrote: > We have platforms on which the width of an integer is not 32-bits; because >

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

2023-07-17 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 some builtins, we need to do quite a bit of

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

2023-07-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 541318. 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-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 541314. 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] D152504: [clang][ThreadSafety] Analyze cleanup functions

2023-07-17 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; +} tbaeder wrote: > tbaeder wrote: > > aaronpuchert wrote: > > > aaronpuchert

[PATCH] D152246: [clang][ThreadSafety] Analyze known function pointer values

2023-07-17 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] D154761: [clang][Interp] Diagnose callsite for implicit functions

2023-07-17 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 rGe6afacc0347c: [clang][Interp] Diagnose callsite for implicit functions (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE

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

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

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

2023-07-17 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] D155410: [clang][Interp] Fix comparing nan/inf floating point values

2023-07-16 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] D155367: [clang][Interp] Implement __builtin_inf() etc.

2023-07-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:119 +static bool interp__builtin_inf(InterpState , CodePtr OpPC, +const InterpFrame *Frame, const Function *F) { cor3ntin wrote: > why does that

[PATCH] D155401: [clang][Interp] Implement __builtin_fmax

2023-07-16 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] D155400: [clang][Interp] Implement __builtin_fabs()

2023-07-16 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] D155367: [clang][Interp] Implement __builtin_inf() etc.

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

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

2023-07-16 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] D155393: [clang][Interp] Implement __builtin_isfpclass

2023-07-16 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] D155369: [clang][Interp] Implement __builtin_isnan()

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

[PATCH] D155374: [clang][Interp] Implement __builtin_isnormal

2023-07-15 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] D155372: [clang][Interp] Implement __builtin_isfinite

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

[PATCH] D155372: [clang][Interp] Implement __builtin_isfinite

2023-07-15 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] D155371: [clang][Interp] Implement __builtin_isinf

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

[PATCH] D155369: [clang][Interp] Implement __builtin_isnan()

2023-07-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 2 inline comments as done. tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Function.h:180 +// FIXME: Is there a better way to get this information? +if (getName() == "__builtin_isnan") + return true; cor3ntin wrote: >

[PATCH] D155369: [clang][Interp] Implement __builtin_isnan()

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

[PATCH] D155371: [clang][Interp] Implement __builtin_isinf

2023-07-15 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] D155369: [clang][Interp] Implement __builtin_isnan()

2023-07-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Function.h:180 +// FIXME: Is there a better way to get this information? +if (getName() == "__builtin_isnan") + return true; cor3ntin wrote: > You can compare getBuiltinID(), which is

[PATCH] D155369: [clang][Interp] Implement __builtin_isnan()

2023-07-15 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. Add a way to pop arguments based on the call

[PATCH] D155368: [clang][Interp] __builtin_copysign

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

[PATCH] D155367: [clang][Interp] Implement __builtin_inf() etc.

2023-07-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Tests will come in a later commit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155367/new/ https://reviews.llvm.org/D155367 ___ cfe-commits mailing list

[PATCH] D155367: [clang][Interp] Implement __builtin_inf() etc.

2023-07-15 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] D153616: [clang][Interp] Create a new local variable in visitLambdaExpr()

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

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

2023-07-15 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. One existing problem is that we can't do much with

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

2023-07-14 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] D154688: [clang] Show verify prefix in error messages

2023-07-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D154688#4498398 , @aaron.ballman wrote: > In D154688#4497967 , @tbaeder wrote: > >> When passing a different prefix via `-verify=foo`, the error messages now >> say "error:

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

2023-07-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. When passing a different prefix via `-verify=foo`, the error messages now say "error: 'foo-error' diagnostics seen but not expected", etc. I'm often working in test files where two different prefixes are used and I'm always confused about which one of the two the error

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

2023-07-13 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] D154290: [Clang] Implement P2741R3 - user-generated static_assert messages

2023-07-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:17059 +// the message is grammatically valid without evaluating it. +if (!Failed && AssertMessage && !!Cond) { + std::string Str; Should work, shouldn't it? Repository: rG

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

2023-07-13 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. This commit is a bit ugly at the moment since I'm

[PATCH] D154290: [Clang] Implement P2741R3 - user-generated static_assert messages

2023-07-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16999-17000 + + if (CheckOnly) +return true; + aaron.ballman wrote: > E, this seems like a pretty big surprise because evaluating that char > range can fail. This means: > ``` >

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

2023-07-12 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] D154262: [clang][Interp] LambdaThisCaptures

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

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

2023-07-11 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. This implements `__builtin_bit_cast()`. The new

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

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

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

2023-07-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder abandoned this revision. tbaeder added a comment. I'm gonna close this, since the new approach is too different. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144943/new/ https://reviews.llvm.org/D144943 ___ cfe-commits mailing list

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

2023-07-11 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. The APFloat might heap-allocate some memory, so we

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

2023-07-10 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; +} tbaeder wrote: > aaronpuchert wrote: > > aaronpuchert wrote: > > > tbaeder

[PATCH] D152246: [clang][ThreadSafety] Analyze known function pointer values

2023-07-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. > Maybe you can show an example how this might look like in practice? AFAIU, the real-world case is more a C "class" struct with a couple of function pointers (a vtable), which might be different depending on circumstances. So, the problem with this (type of) analysis

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

2023-07-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. One problem this does not fix (but rather introduce) is that the `InterpState` will also free initmaps of global variables which haven't been fully initialized. When the initialization fails midway throught, the `InterpState` will free the `InitMap`, leaving the global

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

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

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

2023-07-09 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. We might be trying to return a pointer or reference

[PATCH] D154758: [clang][Interp] Emit correct diagnostic for uninitialized reads

2023-07-09 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 rGc54ff51be9c1: [clang][Interp] Emit correct diagnostic for uninitialized reads (authored by tbaeder). Changed prior to commit:

[PATCH] D154778: [clang] Fix __is_trivially_equality_comparable for classes which contain arrays of non-trivially equality comparable types

2023-07-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Type.cpp:2676 + if (Type->isArrayType()) +Type = Type->getBaseElementTypeUnsafe()->getCanonicalTypeUnqualified(); + Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D154761: [clang][Interp] Diagnose callsite for implicit functions

2023-07-08 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. We don't have any code to point at here, so the

[PATCH] D154758: [clang][Interp] Emit correct diagnostic for uninitialized reads

2023-07-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 538325. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154758/new/ https://reviews.llvm.org/D154758 Files: clang/lib/AST/Interp/Interp.cpp clang/test/AST/Interp/constexpr-nqueens.cpp clang/test/AST/Interp/cxx20.cpp

[PATCH] D154758: [clang][Interp] Emit correct diagnostic for uninitialized reads

2023-07-07 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. This fixes a long standing diagnostic difference

[PATCH] D154290: [WIP][Clang] Implement P2741R3 - user-generated static_assert messages

2023-07-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16893 + + if (const StringLiteral *SL = dyn_cast(Message); + SL && SL->getCharByteWidth() == 1) { Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16898 + } + +

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

2023-07-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 538058. 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] D154688: [clang] Show verify prefix in error messages

2023-07-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: clang. 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.org/D154688 Files:

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

2023-07-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. @cjdb LGTY? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153359/new/ https://reviews.llvm.org/D153359 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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

2023-07-06 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] D154189: [clang][Interp] Implement zero-init of record types

2023-07-06 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] D154581: [clang][Interp] Track existing InitMaps in InterpState

2023-07-06 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, cor3ntin, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. InitMaps are created for primitive arrays when the

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

2023-07-05 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] D153001: [clang][ThreadSafety] Add __builtin_instance_member (WIP)

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

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

2023-07-05 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] D154475: [clang][Interp] Fix ignoring MaterializeTemporaryExprs

2023-07-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. The changes in https://reviews.llvm.org/D149828 missed one case, the `(E->getStorageDuration() == SD_Static) && SubExprT` one. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154475/new/ https://reviews.llvm.org/D154475

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

2023-07-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. This is split out from https://reviews.llvm.org/D149828, but I think that other one had problems (which made me write this version). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154475/new/

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

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

[PATCH] D154474: [clang][Interp] Fix ignoring Integral- and IntegralToBoolean casts

2023-07-05 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: inglorion. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository:

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