[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-29 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Thinking more, I still maintain that the check for `ParentFD` is redundant. So, suppose we need to find a case to compromise the previous logic. In that case, we need to find a generic lambda whose `Pattern` is defined inside a function (i.e. `Pattern` is non-null) while its

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-29 Thread Younan Zhang via cfe-commits
zyn0217 wrote: So, here is the offending case: ```cpp template concept True = true; template using MeowMeow = decltype([](U...) {}.template operator()(U()...)); void foo() { using T = MeowMeow; } ``` In this example, the lambda does not have the `TypeAliasTemplateDecl` where it is

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread Simon Pilgrim via cfe-commits
https://github.com/RKSimon closed https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread Simon Pilgrim via cfe-commits
RKSimon wrote: Cheers - I'll push this (without the assert) in a moment - that shouldn't get in the way of working out why they aren't always paired. https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread Simon Pilgrim via cfe-commits
https://github.com/RKSimon updated https://github.com/llvm/llvm-project/pull/96888 >From 7f6614d8df9a5ed2027f90d813695bc43f1044b2 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 27 Jun 2024 11:09:32 +0100 Subject: [PATCH] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread via cfe-commits
0x59616e wrote: Thanks for this fix! https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread via cfe-commits
https://github.com/0x59616e approved this pull request. https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread via cfe-commits
0x59616e wrote: This is indeed a typo. https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-28 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Looks like we have hit the assert in `SemaTemplate/alias-template-with-lambdas.cpp`. I brought that dirty test, and I'll take a look this weekend. https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-27 Thread Simon Pilgrim via cfe-commits
RKSimon wrote: It would probably explain why the typo hasn't caused regression - I'm going off static analysis reports here, not crash reports. https://github.com/llvm/llvm-project/pull/96888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-27 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: Thanks for the patch. While I think this makes sense, it still confuses me whether there was some redundancy in the guard condition. Do we have any situation where `Pattern` is non-null whereas `ParentFD` becomes null? I assume they are always paired, at

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-27 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Simon Pilgrim (RKSimon) Changes We should be checking for a failed dyn_cast on the ParentFD result - not the loop invariant FD root value. Seems to have been introduced in #65193 Noticed by static analyser (I have no specific test

[clang] [Sema] LambdaScopeForCallOperatorInstantiationRAII - fix typo in early out logic (PR #96888)

2024-06-27 Thread Simon Pilgrim via cfe-commits
https://github.com/RKSimon created https://github.com/llvm/llvm-project/pull/96888 We should be checking for a failed dyn_cast on the ParentFD result - not the loop invariant FD root value. Seems to have been introduced in #65193 Noticed by static analyser (I have no specific test case).