[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-05 Thread Alexander Kornienko via cfe-commits
alexfh wrote: Okay, I think, I have a fix. https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-05 Thread Alexander Kornienko via cfe-commits
alexfh wrote: Before this change the cast was added here: ``` * thread #1, name = 'clang', stop reason = step over frame #0: 0x667e8ff2 clang`clang::Sema::BuildCXXNew(this=0x5092ffd24000, Range=SourceRange @ 0x7ffef4f8, UseGlobal=false, PlacementLParen=(ID = 94), Placem

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-05 Thread Alexander Kornienko via cfe-commits
alexfh wrote: > > @alexfh I don't have the resources to look into this issue. Please revert > > if you need to. > > This has been in trunk for a long time, a revert here would be HIGHLY > unfortunate. I would vastly prefer someone spend time trying to figure out > why we are confused with the

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-02 Thread Erich Keane via cfe-commits
erichkeane wrote: > @alexfh I don't have the resources to look into this issue. Please revert if > you need to. This has been in trunk for a long time, a revert here would be HIGHLY unfortunate. I would vastly prefer someone spend time trying to figure out why we are confused with the variab

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-02 Thread via cfe-commits
cor3ntin wrote: @alexfh I don't have the resources to look into this issue. Please revert if you need to. https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/l

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-06-02 Thread Alexander Kornienko via cfe-commits
alexfh wrote: @cor3ntin friendly ping. Please take a look at the remaining issue here. Thanks! https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-28 Thread Alexander Kornienko via cfe-commits
alexfh wrote: @cor3ntin thank you for the fix for the assertion failure! The problem described in https://github.com/llvm/llvm-project/pull/138518#issuecomment-2906596143 still remains though. https://github.com/llvm/llvm-project/pull/138518 ___ cfe

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-24 Thread Alexander Kornienko via cfe-commits
alexfh wrote: Reduced test case: ``` template void invoke(_Fn __f) { __f(); } struct Duration { int lo_; int rep_hi_; int rep_lo_; }; Duration Seconds(int); struct Time { friend bool operator<(Time, Time); Duration rep_; }; Time operator+(Time, Duration); Time Now(); struct Node {

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-23 Thread Alexander Kornienko via cfe-commits
alexfh wrote: @cor3ntin ^^ https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-23 Thread Alexander Kornienko via cfe-commits
alexfh wrote: Apart from the assertion failure in CodeGen, we have two distinct test cases that started failing after this commit. The code in both cases is sanitizer-clean and looks valid. The failures reproduce with -O0, so it's not about optimizations. Looks like Clang codegen is broken for

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-23 Thread Alexander Kornienko via cfe-commits
alexfh wrote: I've filed https://github.com/llvm/llvm-project/issues/141242 for the second report. However https://github.com/llvm/llvm-project/pull/138518#issuecomment-2903017423 is new and still needs to be addressed. https://github.com/llvm/llvm-project/pull/138518

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-23 Thread Alexander Kornienko via cfe-commits
alexfh wrote: @cor3ntin yep, the second test case I have doesn't seem to be directly related. It causes crashes to Clang since version 7: https://gcc.godbolt.org/z/6M13c4q3T https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-22 Thread Alexander Kornienko via cfe-commits
alexfh wrote: @cor3ntin this commit causes an assertion failure: https://gcc.godbolt.org/z/7hW4ssrfq ``` $ cat test.cc struct E { virtual void f(); }; struct G { E e; }; template struct Test { virtual void f() { E e; G g(e); } }; auto *t = new Test; $ ./clang-bad -c -o /dev/nul

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread via cfe-commits
https://github.com/cor3ntin closed https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread via cfe-commits
https://github.com/cor3ntin updated https://github.com/llvm/llvm-project/pull/138518 Rate limit ยท GitHub body { background-color: #f6f8fa; color: #24292e; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread via cfe-commits
https://github.com/cor3ntin edited https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread Younan Zhang via cfe-commits
@@ -16487,12 +16501,22 @@ ExprResult TreeTransform::TransformCXXParenListInitExpr(CXXParenListInitExpr *E) { SmallVector TransformedInits; ArrayRef InitExprs = E->getInitExprs(); - if (TransformExprs(InitExprs.data(), InitExprs.size(), true, - Transfor

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread Erich Keane via cfe-commits
@@ -16487,12 +16501,22 @@ ExprResult TreeTransform::TransformCXXParenListInitExpr(CXXParenListInitExpr *E) { SmallVector TransformedInits; ArrayRef InitExprs = E->getInitExprs(); - if (TransformExprs(InitExprs.data(), InitExprs.size(), true, - Transfor

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. Please change the commit message to do Fixes # instead of the reverse, so this actually closes the bug :) https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-comm

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/138518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: cor3ntin (cor3ntin) Changes We were converting a CXXParenListInitExpr to a ParenListExpr in TreeTransform. However, ParenListExpr is typeless, so Clang could not rebuild the correct initialization sequence in some contexts. #Fixes 72880

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

2025-05-05 Thread via cfe-commits
https://github.com/cor3ntin created https://github.com/llvm/llvm-project/pull/138518 We were converting a CXXParenListInitExpr to a ParenListExpr in TreeTransform. However, ParenListExpr is typeless, so Clang could not rebuild the correct initialization sequence in some contexts. #Fixes 72880