[PATCH] D148614: [clang][Interp] Add frame depth checking

2023-05-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 526565. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148614/new/ https://reviews.llvm.org/D148614 Files: clang/lib/AST/Interp/Interp.cpp clang/lib/AST/Interp/Interp.h clang/lib/AST/Interp/InterpFrame.cpp clang/lib/AST/Interp/InterpFrame.h

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

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

[PATCH] D150843: [clang][Diagnostics] Refactor printableTextForNextCharacter

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

[PATCH] D151720: [clang][ExprConstant] Fix display of syntactically-invalid note for member function calls

2023-05-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Can you show the output for an example where the `->` notation is correct, e.h. https://godbolt.org/z/6a5oExjME ? I suppose the patch doesn't change this much, but the current way that's displayed (`&{*new Foo#0}->zomg()`) is... questionable. Repository: rG LLVM Git

[PATCH] D150840: [clang][NFC] Refactor emitSnippet()

2023-05-31 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 rGb7e5cb1f9a3a: [clang][NFC] Refactor emitSnippet() (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://

[PATCH] D151075: [clang][Diagnostics] Simplify emitSnippet()

2023-05-31 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 rG49843c503684: [clang][Diagnostics] Simplify emitSnippet() (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D151078: [clang][Diagnostics] Use llvm::raw_ostream::indent()

2023-05-31 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 rG1c765483fd34: [clang][Diagnostics] Use llvm::raw_ostream::indent() (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D151093: [clang][Diagnostic] Simplify emitDiagnosticLoc

2023-05-31 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 rGc113cbb51005: [clang][Diagnostic][NFC] Simplify emitDiagnosticLoc (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D151100: [clang][Diagnostics] Merge byte/column mapping functions into one.

2023-05-31 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG50f0b8d219cb: [clang][Diagnostics][NFC] Merge byte/column mapping functions into one. (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15

[PATCH] D151286: [clang][Diagnostics][NFC] Don't create oversized CaretLine

2023-05-31 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 rG01578153ee82: [clang][Diagnostics][NFC] Don't create oversized CaretLine (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/

[PATCH] D151301: [clang][Diagnostics] Print empty lines in multiline snippets

2023-05-31 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 rG3184fb958091: [clang][Diagnostics] Print empty lines in multiline snippets (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D151300: [clang][Diagnostics][NFC] Remove unnecessary StringRef

2023-05-31 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa806b3f49667: [clang][Diagnostics][NFC] Remove unnecessary StringRef (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151300/new/ https:

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

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

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

2023-05-31 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 rG40c26ec48c8a: [clang][Interp] Fix diagnosing uninitialized ctor record arrays (authored by tbaeder). Changed prior to commit: https://reviews.llvm

[PATCH] D148614: [clang][Interp] Add frame depth checking

2023-05-31 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGda836b36bc35: [clang][Interp] Track frame depth (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148614/new/ https://reviews.llvm.org/D1

[PATCH] D149645: [clang][Interp] Optionally cast comparison result to non-bool

2023-05-31 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 rG81522a012acc: [clang][Interp] Optionally cast comparison result to non-bool (authored by tbaeder). Changed prior to commit: https://reviews.llvm.o

[PATCH] D151720: [clang][ExprConstant] Fix display of syntactically-invalid note for member function calls

2023-05-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:1925 if (This && IsMemberCall) { -APValue Val; -This->moveInto(Val); -Val.printPretty(Out, Info.Ctx, -This->Designator.MostDerivedType); -// FIXME: Add parens around V

[PATCH] D151833: Respect "-fdiagnostics-absolute-paths" on emit include location

2023-05-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Can you add a test case for the change? Looks like there's something similar already in `clang/test/Frontend/absolute-paths.c` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151833/new/ https://reviews.llvm.org/D151833 ___

[PATCH] D151720: [clang][ExprConstant] Fix display of syntactically-invalid note for member function calls

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. The only additional test I could come up with is one where the `->` is in the middle of an lvalue designator, like: struct A { constexpr int foo() { (void)(1/0); return 1;} }; struct B { A aa; A *a = &aa; }; struct C { B b; }; struc

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 527331. 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/Context.h clang/lib/AST/Interp/Descriptor

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.h:1560 + // is the furthest we might go up in the hierarchy. + ThisPtr = ThisPtr.getDeclPtr(); +} tbaeder wrote: > Just so I don't forget: The assignment to `ThisPtr` here is dea

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 527336. 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/Context.h clang/lib/AST/Interp/Descriptor

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Context.cpp:122 + T->isFunctionProtoType() || + T->isSpecificBuiltinType(BuiltinType::BoundMember)) +return PT_FnPtr; aaron.ballman wrote: > Do you have test coverage for the bound memb

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 527346. 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 clang/lib/AST/Interp/Interp.h clang/test/AST/Interp/literals.c

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

2023-06-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Pointer.cpp:10 #include "Pointer.h" +#include "Boolean.h" +#include "Context.h" shafik wrote: > Are all these headers really needed for the change below? We access `.toAPValue()` on all of them in t

[PATCH] D151215: [clang][Diagnostics] Split source ranges into line ranges before...

2023-06-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 rGfc1262bd58ac: [clang][Diagnostics] Split source ranges into line ranges before... (authored by tbaeder). Changed prior to commit: https://reviews.

[PATCH] D151215: [clang][Diagnostics] Split source ranges into line ranges before...

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 527766. tbaeder added a comment. @cor3ntin I added changes to the two brackets tests in `test/Parser/`. They look like an improvement to me, but maybe there's something I'm missing, so please have a quick look. CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D151833: Respect "-fdiagnostics-absolute-paths" on emit include location

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Frontend/absolute-paths.c:6 +// NORMAL: In file included from [[ROOT_ABSOLUTE]]:4: +// ABSOLUTE: In file included from [[ROOT_ABSOLUTE]]:4: This checks the same thing in both cases, but in the `NORMAL` case,

[PATCH] D147875: [clang][Diagnostics] Show line numbers when printing code snippets

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/docs/UsersManual.rst:578 + +.. option:: -fcaret-diagnostics-max-lines: + hans wrote: > I think this is still a cc1-only option. Should it be made available as a > driver option now? No strong opinion from my side,

[PATCH] D151833: Respect "-fdiagnostics-absolute-paths" on emit include location

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Frontend/absolute-paths.c:6 +// NORMAL: In file included from [[ROOT_ABSOLUTE]]:4: +// ABSOLUTE: In file included from [[ROOT_ABSOLUTE]]:4: charmitro wrote: > tbaeder wrote: > > This checks the same thing in

[PATCH] D151833: Respect "-fdiagnostics-absolute-paths" on emit include location

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Frontend/absolute-paths.c:6 +// NORMAL: In file included from [[ROOT_ABSOLUTE]]:4: +// ABSOLUTE: In file included from [[ROOT_ABSOLUTE]]:4: charmitro wrote: > tbaeder wrote: > > charmitro wrote: > > > tbaede

[PATCH] D147875: [clang][Diagnostics] Show line numbers when printing code snippets

2023-06-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/docs/ReleaseNotes.rst:290 + number of code lines it prints has been increased from 1 to 16. This + can be controlled using ``-fcaret-diagnostics-max-lines=``. dyung wrote: > Is this correct? I notice that all o

[PATCH] D152090: [clang][Driver] Add -fcaret-diagnostics-max-lines as a driver option

2023-06-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, MaskRay. 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/D152090 Fi

[PATCH] D147875: [clang][Diagnostics] Show line numbers when printing code snippets

2023-06-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. @hans @dyung I've opened https://reviews.llvm.org/D152090 which should fix both of your concerns. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D147875/new/ https://reviews.llvm.org/D147875

[PATCH] D151833: Respect "-fdiagnostics-absolute-paths" on emit include location

2023-06-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Frontend/absolute-paths.c:6 +// NORMAL: In file included from [[ROOT_ABSOLUTE]]:4: +// ABSOLUTE: In file included from [[ROOT_ABSOLUTE]]:4: charmitro wrote: > tbaeder wrote: > > charmitro wrote: > > > tbaede

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

2023-02-06 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. For the given test case, we were trying to initia

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

2023-02-07 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. The GetPtrBasePop op we were using only works for

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

2023-02-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Hmm, this doesn't work if the callee is somewhere in between the path from the dynamic to the static type, e.g. struct A { virtual constexpr int foo() const { return 1; } }; struct B : A { virtual constexpr int foo() const { return A::foo(); } };

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

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

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

2023-02-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 495789. tbaeder set the repository for this revision to rG LLVM Github Monorepo. tbaeder added a comment. Fixed all the new test cases by adding a new `CallVirt` opcode and only using that if appropriate. Repository: rG LLVM Github Monorepo CHANGES SINCE

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

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

[PATCH] D143630: [clang] update test case

2023-02-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Added Nikita as reviewer, since this is about opaque pointers. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143630/new/ https://reviews.llvm.org/D143630 ___ cfe-commits mailing

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

2023-02-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 497276. 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/Context.h clang/lib/AST/Interp/Descriptor

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

2023-02-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.h:1560 + // is the furthest we might go up in the hierarchy. + ThisPtr = ThisPtr.getDeclPtr(); +} I think this test case was from the function pointer review, but this fixes: ```

[PATCH] D144136: Add a "remark" to report on array accesses

2023-02-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. What would the information be useful for? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144136/new/ https://reviews.llvm.org/D144136 ___ cfe-commits mailing list cfe-commits@list

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

2023-02-15 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. This is a result of the discussions in https://revi

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

2023-02-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.cpp:264-270 + const Function *Func = S.Current->getFunction(); + if (Func && Func->isConstructor()) { +// The This pointer is writable in constructors, even if +// isConst() returns true. +if (Pt

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

2023-02-17 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. They have already been handled before, but we can

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

2023-02-21 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 only did this for primitive temporaries.

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

2023-02-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Thinking about this some more, the new `Pointer::toRValue()` is probably just the same thing we're already doing in `EvalEmitter::emtiRetValue()`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144457/new/ https://reviews.l

[PATCH] D149824: [clang][Interp] Don't call getSource() on functions without a body

2023-05-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 rGe8fb478f2df8: [clang][Interp] Don't call getSource() on functions without a body (authored by tbaeder). Changed prior to commit: https://reviews.l

[PATCH] D147875: [clang][Diagnostics] Show line numbers when printing code snippets

2023-05-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/FixIt/fixit-function-call.cpp:1 -// RUN: not %clang_cc1 -fdiagnostics-parseable-fixits -x c++ %s 2> %t +// RUN: not %clang_cc1 -fdiagnostics-parseable-fixits -fno-diagnostics-show-line-numbers -fcaret-diagnostics-max-lines 1

[PATCH] D147875: [clang][Diagnostics] Show line numbers when printing code snippets

2023-05-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 519799. tbaeder added a comment. Add docs and a release note. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D147875/new/ https://reviews.llvm.org/D147875 Files: clang-tools-extra/test/clang-tidy/checkers/cert/uppercase-literal-suffix-integer.cpp

[PATCH] D148689: [clang][Interp] Handle PredefinedExprs

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

[PATCH] D148689: [clang][Interp] Handle PredefinedExprs

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

[PATCH] D149960: [clang][Interp] Fix ignoring String- and CharacterLiterals

2023-05-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 https://revi

[PATCH] D149965: [clang][Interp] Fix tests for ignored expressions

2023-05-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, tahonermann, shafik, erichkeane. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We didn't call the function explicitly in a stati

[PATCH] D150036: [Clang] Correctly handle allocation in template arguments

2023-05-06 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:15356-15360 - if (!::EvaluateInPlace(Result.Val, Info, LVal, this) || Result.HasSideEffects) + FullExpressionRAII Scope(Info); + if (!::EvaluateInPlace(Result.Val, Info, LVal, this) || Result.HasSide

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

2023-05-06 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:317-318 { - auto T = Test(Arr, Pos); + Test(Arr, Pos); // End of scope, should destroy Test. } aaron.ballman wrote: > Nit: nothing actually tests that this obj

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

2023-05-06 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 need to call them like any other function, so

[PATCH] D149837: [clang][Interp] Fix ignoring CompoundLiteralExprs

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

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

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

[PATCH] D149834: [clang][Interp] Fix ignoring TypeTraitExprs

2023-05-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/literals.cpp:875 1 ? 0 : 1; +sizeof(A); +alignof(A); aaron.ballman wrote: > Let's make sure we still reject this: > ``` > constexpr int oh_my() { > int x = 0; > sizeof(int[x++]); //

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

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

[PATCH] D150087: [Clang] Support more stdio builtins

2023-05-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:102 // std libcall builtins are implemented. static SmallDenseMap F128Builtins{ + {Builtin::BI__builtin___fprintf_chk, "__fprintfieee128"}, The size should be increased I guess?

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

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

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

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

[PATCH] D150108: [clang] Evaluate non-type default template argument when it is required

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/docs/ReleaseNotes.rst:375 +- A default argument for a non-type template parameter is evaluated and checked + at the point where is is required. This fixes: + (`#62224 `_) and ---

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

2023-05-08 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. Emit custom byte code for the static invoker functi

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

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520330. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150111/new/ https://reviews.llvm.org/D150111 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.h clang/lib/AST/I

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

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520331. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150111/new/ https://reviews.llvm.org/D150111 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.h clang/lib/AST/I

[PATCH] D149834: [clang][Interp] Fix ignoring TypeTraitExprs

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/literals.cpp:875 1 ? 0 : 1; +sizeof(A); +alignof(A); aaron.ballman wrote: > tbaeder wrote: > > aaron.ballman wrote: > > > Let's make sure we still reject this: > > > ``` > > > constexpr

[PATCH] D149834: [clang][Interp] Fix ignoring TypeTraitExprs

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/literals.cpp:875 1 ? 0 : 1; +sizeof(A); +alignof(A); tbaeder wrote: > aaron.ballman wrote: > > tbaeder wrote: > > > aaron.ballman wrote: > > > > Let's make sure we still reject this: >

[PATCH] D149834: [clang][Interp] Fix ignoring TypeTraitExprs

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/literals.cpp:875 1 ? 0 : 1; +sizeof(A); +alignof(A); tbaeder wrote: > tbaeder wrote: > > aaron.ballman wrote: > > > tbaeder wrote: > > > > aaron.ballman wrote: > > > > > Let's make sure

[PATCH] D149834: [clang][Interp] Fix ignoring TypeTraitExprs

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520340. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149834/new/ https://reviews.llvm.org/D149834 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/literals.cpp Index: clang/test/AST/Interp/literals.cpp

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

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:606 +S{}; // ref-note {{in call to '&S{}->~S()'}} +return 1; // expected-note {{in call to '&S{}->~S()'}} + // FIXME: ^ Wrong line erichkeane wrote: > Which DTOR is

[PATCH] D149965: [clang][Interp] Fix tests for ignored expressions

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520352. tbaeder added a comment. @aaron.ballman This is where the sizeof/alignof tests were actually broken. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149965/new/ https://reviews.llvm.org/D149965 Files: clang/lib/AST/Interp/ByteCodeExprGen.cp

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

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:317-318 { - auto T = Test(Arr, Pos); + Test(Arr, Pos); // End of scope, should destroy Test. } aaron.ballman wrote: > tbaeder wrote: > > aaron.ballman wrote: >

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

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:317-318 { - auto T = Test(Arr, Pos); + Test(Arr, Pos); // End of scope, should destroy Test. } aaron.ballman wrote: > tbaeder wrote: > > aaron.ballman wrote: >

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

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

[PATCH] D149965: [clang][Interp] Fix tests for ignored expressions

2023-05-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:593-594 +if (DiscardResult) + return true; + aaron.ballman wrote: > For my own understanding -- why do we not need to call `discard()` on the > operand expression? Is

[PATCH] D150191: [clang][Diagnostics] Provide a source range for 'use of undeclared identifier' diagnostics

2023-05-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: cjdb, aaron.ballman, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Just a small improvement. Before: array.cpp:1279:9: error: use of

[PATCH] D150191: [clang][Diagnostics] Provide a source range for 'use of undeclared identifier' diagnostics

2023-05-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Right, I expect (hope?) precommit CI to fail, but I'm stuck at an airport right now so I'll leave tests for when I'm back home. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150191/new/ https://reviews.llvm.org/D150191 __

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

2023-05-09 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] D150209: [clang][Interp] Add more shift error checking

2023-05-09 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.h:136 +if (LHS.isNegative()) + S.CCEDiag(E, diag::note_constexpr_lshift_of_negative) << 12; +else if (LHS.toUnsigned().countLeadingZeros() < static_cast(RHS)) shafik wrote: > Do w

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

2023-05-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 520954. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150209/new/ https://reviews.llvm.org/D150209 Files: clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/Interp.h clang/test/AST/Interp/shifts.cpp Index: clang/test/AST/Interp/shifts.cpp =

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

2023-05-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 521078. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150209/new/ https://reviews.llvm.org/D150209 Files: clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/Interp.h clang/test/AST/Interp/shifts.cpp Index: clang/test/AST/Interp/shifts.cpp =

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

2023-05-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 521082. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150209/new/ https://reviews.llvm.org/D150209 Files: clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/Interp.h clang/test/AST/Interp/shifts.cpp Index: clang/test/AST/Interp/shifts.cpp =

[PATCH] D150191: [clang][Diagnostics] Provide a source range for 'use of undeclared identifier' diagnostics

2023-05-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 521215. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150191/new/ https://reviews.llvm.org/D150191 Files: clang/include/clang/Sema/Lookup.h clang/lib/Sema/SemaExpr.cpp Index: clang/lib/Sema/SemaExpr.cpp =

[PATCH] D150191: [clang][Diagnostics] Provide a source range for 'use of undeclared identifier' diagnostics

2023-05-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:2187 else - SemaRef.Diag(TypoLoc, DiagnosticID) << Typo; + SemaRef.Diag(TypoRange.getEnd(), DiagnosticID) << Typo; return; I'm not passing the `TypoRange` here now, which r

[PATCH] D150191: [clang][Diagnostics] Provide a source range for 'use of undeclared identifier' diagnostics

2023-05-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 521236. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150191/new/ https://reviews.llvm.org/D150191 Files: clang/include/clang/Sema/Lookup.h clang/lib/Sema/SemaExpr.cpp clang/test/Misc/reduced-diags-macros-backtrace.cpp Index: clang/test/Misc/r

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

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

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

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

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

2023-05-11 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:22-23 + +static bool interp__builtin_strcmp(InterpState &S, CodePtr OpPC, + InterpFrame *Frame) { + const Pointer &A = ge

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

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

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

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

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

2023-05-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Pig 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-bin/mailman/listinfo/cfe-commits

[PATCH] D148614: [clang][Interp] Add frame depth checking

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

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

2023-05-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. When calling functions in the checkingPotentialCo

<    13   14   15   16   17   18   19   20   21   22   >