[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

[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

[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

[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 = }; struct C { B b; }; struct D

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

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

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

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

[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] 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/

[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

[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] Dont create oversized CaretLine (authored by tbaeder). Changed prior to commit:

[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

[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

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

[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

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

[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] D148614: [clang][Interp] Add frame depth checking

2023-05-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Interp.cpp:345-352 + if ((S.Current->getDepth() + 1) > S.getLangOpts().ConstexprCallDepth) { +S.FFDiag(S.Current->getSource(OpPC), + diag::note_constexpr_depth_limit_exceeded) +<<

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D151300#4367943 , @aaron.ballman wrote: > In D151300#4367939 , @tbaeder wrote: > >> In D151300#4367884 , >> @aaron.ballman wrote: >> >>>

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D151300#4367884 , @aaron.ballman wrote: > LGTM, but it's worth noting that `std::string::pop_back()` calls `erase()` > and there's no guarantee that there's not an extra allocation involved as a > result. However, I've not

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 525094. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150843/new/ https://reviews.llvm.org/D150843 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:124-128 + if (CharSize == 1 && llvm::isLegalUTF8Sequence(Begin, End) && + llvm::sys::locale::isPrint(*Begin)) { +++(*I); +return std::make_pair(SmallString<16>(Begin, End), true); + }

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:124-128 + if (CharSize == 1 && llvm::isLegalUTF8Sequence(Begin, End) && + llvm::sys::locale::isPrint(*Begin)) { +++(*I); +return std::make_pair(SmallString<16>(Begin, End), true); + }

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:1246 // line from what the user is intended to see. -if (DiagOpts->ShowSourceRanges) { +if (DiagOpts->ShowSourceRanges && !SourceLine.empty()) { SourceLine = ' ' + SourceLine;

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 525050. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151301/new/ https://reviews.llvm.org/D151301 Files: clang/lib/Frontend/TextDiagnostic.cpp clang/test/Misc/diag-style.cpp Index: clang/test/Misc/diag-style.cpp

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Misc/diag-style.cpp:10 +// CHECK-NEXT: {{^}} | ^~~~{{$}} +// CHECK-NEXT: {{^}}5 | {{$}} +// CHECK-NEXT: {{^}}6 | true, "");{{$}} Questionable whether the space

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: clang, cjdb, aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We should preserve empty lines in output snippets. Repository: rG

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 525031. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151300/new/ https://reviews.llvm.org/D151300 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-24 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: clang, cjdb, aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Seems unnecessary to create a `StringRef` here just so we can drop the

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

2023-05-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:124-128 + if (CharSize == 1 && llvm::isLegalUTF8Sequence(Begin, End) && + llvm::sys::locale::isPrint(*Begin)) { +++(*I); +return std::make_pair(SmallString<16>(Begin, End), true); + }

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

2023-05-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 525010. tbaeder marked 2 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150843/new/ https://reviews.llvm.org/D150843 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: clang, cjdb, aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Instead of creating a CaretLine the size of the SourceLine, just

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

2023-05-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, cjdb, clang. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. ... emitting them. This makes later code easier to understand,

[PATCH] D151214: [clang][Sema] `-Wshadow` warns about shadowings by static local variables

2023-05-23 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/docs/ReleaseNotes.rst:295 +- Clang's `-Wshadow` warning now warns about shadowings by static local variables + (`#62850: `_, Repository: rG LLVM Github

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: cjdb, aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. They were both only called from one place and did very similar things.

[PATCH] D151094: [clang][wip] Implement P2564 "consteval must propagate up"

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/include/clang/AST/Decl.h:2391 + + bool isImmediateFunction() const; + Some documentation on the new API would be useful; seems like most calls to `isConsteval()` should be using `isImmediateFunction()` instead?

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, cjdb, clang. 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 use the offset returned from

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 524271. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151078/new/ https://reviews.llvm.org/D151078 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 524253. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151078/new/ https://reviews.llvm.org/D151078 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:1195-1197 auto indentForLineNumbers = [&] { -if (MaxLineNoDisplayWidth > 0) { - OS << ' '; - for (unsigned I = 0; I != MaxLineNoDisplayWidth; ++I) -OS << ' '; - OS << "

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, cjdb. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. TIL that this exists. Repository: rG LLVM Github Monorepo

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 524216. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151075/new/ https://reviews.llvm.org/D151075 Files: clang/lib/Frontend/TextDiagnostic.cpp Index: clang/lib/Frontend/TextDiagnostic.cpp

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

2023-05-22 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Don't try to minimize the times we invoke operator<< on the output stream by

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

2023-05-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Side-note: The `ToPrint` stuff here is just useful to "cache" the output string, isn't it? Is that really useful? I'd expect the output stream to be cached anyway? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150840/new/

[PATCH] D151033: [clang][AST] TextNodeDumper should not evaluate the initializer of constexpr variable template definition

2023-05-21 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Can you briefly explain why the `FieldDecl` we see is null in that case? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151033/new/ https://reviews.llvm.org/D151033 ___

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

2023-05-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Hm, this works for pointers, but not for function pointers (which we map to `FunctionPointer`). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150946/new/ https://reviews.llvm.org/D150946

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

2023-05-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add a new opcode doing the cast and emit a

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

2023-05-19 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:121 + unsigned CharSize = llvm::getNumBytesForUTF8(*Begin); + const unsigned char *End = Begin + CharSize; tahonermann wrote: > This could assign `End` to a location past the

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

2023-05-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Frontend/TextDiagnostic.cpp:120 - begin = reinterpret_cast(&*(SourceLine.begin() + *i)); - end = begin + (SourceLine.size() - *i); - I don't know what this computation of `end` means, but from the debug

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

2023-05-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Rename parameters and local variables to start with an uppercase

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

2023-05-17 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Rename parameters and local variables and reorder things a bit to be closer to

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

2023-05-16 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 rGe2917311f026: [clang] Show line numbers in diagnostic code snippets (authored by tbaeder). Changed prior to commit:

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

2023-05-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 522587. 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

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

2023-05-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeEmitter.cpp:100-103 + bool IsEligibleForCompilation = + FuncDecl->isConstexpr() || + (isa(FuncDecl) && + cast(FuncDecl)->isLambdaStaticInvoker()); aaron.ballman wrote: > I

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

2023-05-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 522580. tbaeder marked 7 inline comments as done. 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] D150661: [clang][Interp] Allow evaluating standalone composite expressions

2023-05-16 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:2287 +return true; } case UO_Imag: { // __imag x I added these changes to make the test work, but they are thematically different from the purpose of this patch.

[PATCH] D150661: [clang][Interp] Allow evaluating standalone composite expressions

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

[PATCH] D150661: [clang][Interp] Allow evaluating standalone composite expressions

2023-05-16 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 reach visitExpr() when evaluating standalone

[PATCH] D150654: [clang][Interp] ComplexFloatingToBoolean casts

2023-05-16 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] D146030: [clang][Interp] Handle LambdaExprs

2023-05-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 522204. tbaeder marked an inline comment 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

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

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

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

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

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

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

[PATCH] D147621: [clang][Interp] Start handling mutable record members

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

[PATCH] D137706: [clang][Interp] Implement IntegralToPointer casts

2023-05-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder abandoned this revision. tbaeder added a comment. I've already abandoned this locally, pretty sure I'll end up taking another approach. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137706/new/ https://reviews.llvm.org/D137706 ___

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

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

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

2023-05-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder abandoned this revision. tbaeder added a comment. Abandoning this. The code in question was dead before as far as I can tell, since the `Ranges` list was always empty. I can't add this without regressing any of the existing tests. CHANGES SINCE LAST ACTION

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

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

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

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

[PATCH] D149133: [clang][Interp] BaseToDerived casts

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

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

2023-05-12 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; aaron.ballman wrote: > tbaeder wrote: > > I'm

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

2023-05-12 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(); +} Just so I don't forget: The assignment to `ThisPtr` here is dead. Repository:

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

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

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

2023-05-12 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/AST/Interp/records.cpp:341 + +/// FIXME: Wrong source location below. +return 12; // expected-note {{in call to '{}->~S()'}} aaron.ballman wrote: > Oh interesting -- does the old constexpr interpreter

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

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

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

2023-05-12 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D150364#4335282 , @aaron.ballman wrote: > In D150364#4335261 , @tbaeder wrote: > >> In D150364#4335221 , >> @aaron.ballman wrote: >> >>>

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

2023-05-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:22-23 + +static bool interp__builtin_strcmp(InterpState , CodePtr OpPC, + InterpFrame *Frame) { + const Pointer = getParam(Frame, 0);

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

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

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

2023-05-11 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D150364#4335221 , @aaron.ballman wrote: > "Unsupported" is a bit of a loaded term -- it could mean "this operation is > not supported, YET" or it could mean "this operation is not and will not be > supported, EVER". Perhaps

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

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. As discussed the other day. This fixes the

[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

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

[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

[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 , CodePtr OpPC, + InterpFrame *Frame) { + const Pointer =

[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

[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

[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] 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:

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

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

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