[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-16 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/94942 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-16 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > So, looked into this more. You are correct that `Function` needs not be > dependent because we only ever show the name of the function unqualified. > However, `FunctionSig` does. Here is an example of what we are trying to > preserve https://godbolt.org/z/M3eTa8nn5 (the clang 1

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-15 Thread Younan Zhang via cfe-commits
zyn0217 wrote: nit: Please rephrase the commit message before you merge this patch. A large piece of AST involving memory addresses is really hard to decipher. In addition, it would be nice if you can simplify the test case further - it's super unclear why a bunch of templates are there outsid

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-14 Thread via cfe-commits
cor3ntin wrote: So, looked into this more. You are correct that `Function` needs not be dependent because we only ever show the name of the function unqualified. However, `FunctionSig` does. Here is an example of what we are trying to preserve https://godbolt.org/z/M3eTa8nn5 (the clang 17 behav

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-13 Thread Qizhi Hu via cfe-commits
jcsxky wrote: ```cpp struct BasicPersistent; struct SourceLocation { static constexpr const char* Current(const char * func = __builtin_FUNCTION()) { return func; } }; template BasicPersistent &&__declval(int); template auto declval() -> decltype(__declval<_Tp>(0));

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-13 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/94942 >From 96f4e2a5c82296b61e53189135d88a2d2b0da9f4 Mon Sep 17 00:00:00 2001 From: Qizhi Hu <836744...@qq.com> Date: Mon, 10 Jun 2024 16:53:54 +0800 Subject: [PATCH] [clang] SourceLocIdentKind::Function should not be de

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-12 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > SourceLocation needs to be dependent because we want to make the name of the > function and any template parameter refers to the instantiated function > rather than that of the function template. This was changed in #78436 > > The issue is that SourceLocation then is a dependen

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-10 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > because we want to make the name of the function and any template parameter refers to the instantiated function rather than that of the function template. Does that mean we should transform the `SourceLocExpr` into a certain function name when instantiating if it is `__builtin_

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-10 Thread via cfe-commits
cor3ntin wrote: SourceLocation needs to be dependent because we want to make the name of the function and any template parameter refers to the instantiated function rather than that of the function template. This was changed in https://github.com/llvm/llvm-project/pull/78436 The issue is that

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-10 Thread Timm Baeder via cfe-commits
@@ -846,6 +846,7 @@ Bug Fixes to C++ Support - Fix a crash caused by improper use of ``__array_extent``. (#GH80474) - Fixed several bugs in capturing variables within unevaluated contexts. (#GH63845), (#GH67260), (#GH69307), (#GH88081), (#GH89496), (#GH90669) and (#GH91633).

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-10 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Qizhi Hu (jcsxky) Changes Consider the testcase, return type of `construct_at` is ```cpp DecltypeType 0x5570d8c0 'decltype(new struct BasicPersistent(declval()))' sugar dependent |-CXXNewExpr 0x5570d880 'stru

[clang] [clang] SourceLocIdentKind::Function should not be dependent (PR #94942)

2024-06-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/94942 Consider the testcase, return type of `construct_at` is ```cpp DecltypeType 0x5570d8c0 'decltype(new struct BasicPersistent(declval()))' sugar dependent |-CXXNewExpr 0x5570d880 'struct BasicPersistent *' Fu