https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/147953
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/147953
>From 0f6d49539df0269daed67af2c7c054f3501fcc0b Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 10 Jul 2025 05:26:11 -0700
Subject: [PATCH 1/3] [clang-tidy][readability-named-parameter] Add an option
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/147953
Add InsertPlainNamesInForwardDecls option to readability-named-parameter check
to insert parameter names without comments for forward declarations only.
When enabled, forward declarations get plain parameter
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/144525
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/144377
https://reviews.llvm.org/D130331 added workaround for named modules only. But
the same issue happens for headees units. Link issue #56490
>From 107a61c1c7a2caf3a3801c36637f4393ba613255 Mon Sep 17 00:00:00 20
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From f277796a98f81bc3f0c6949adff3ad43eda51d5f Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/9] [clang-tidy][performance-unnecessary-value-param] Avoid
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From f277796a98f81bc3f0c6949adff3ad43eda51d5f Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/8] [clang-tidy][performance-unnecessary-value-param] Avoid
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/140912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -63,7 +65,11 @@ void
UnnecessaryValueParamCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
traverse(
TK_AsIs,
- functionDecl(hasBody(stmt()), isDefinition(), unless(isImplicit()),
+ functionDecl(hasBody(IsAllowedInCorout
@@ -0,0 +1,65 @@
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- -fix-errors
dmpolukhin wrote:
I prefer to have 3 command to also test the default value for the flag.
https://github.com/llvm/llvm-project/pull/140912
_
dmpolukhin wrote:
@vbvictor please take another look, all comments resolved.
https://github.com/llvm/llvm-project/pull/140912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From f277796a98f81bc3f0c6949adff3ad43eda51d5f Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/6] [clang-tidy][performance-unnecessary-value-param] Avoid
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From f277796a98f81bc3f0c6949adff3ad43eda51d5f Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/5] [clang-tidy][performance-unnecessary-value-param] Avoid
@@ -265,6 +265,8 @@ Changes in existing checks
` check performance by
tolerating fix-it breaking compilation when functions is used as pointers
to avoid matching usage of functions within the current compilation unit.
+ Added an option `IsAllowedInCoroutines` with the de
@@ -73,6 +74,10 @@ void
UnnecessaryValueParamCheck::registerMatchers(MatchFinder *Finder) {
void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result)
{
const auto *Param = Result.Nodes.getNodeAs("param");
const auto *Function = Result.Nodes.getNodeAs(
@@ -74,3 +74,9 @@ Options
default is empty. If a name in the list contains the sequence `::`, it is
matched against the qualified type name (i.e. ``namespace::Type``),
otherwise it is matched against only the type name (i.e. ``Type``).
+
+.. option:: IsAllowedInCorouti
@@ -0,0 +1,58 @@
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- -fix-errors
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- \
+// RUN: -config='{CheckOptions:
{performance-unnecessary-val
@@ -0,0 +1,58 @@
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- -fix-errors
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- \
+// RUN: -config='{CheckOptions:
{performance-unnecessary-val
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/143168
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
@vbvictor and @HerrCai0907 @carlosgalvezp @PiotrZSL please take another look.
https://github.com/llvm/llvm-project/pull/140912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cf
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From f277796a98f81bc3f0c6949adff3ad43eda51d5f Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/4] [clang-tidy][performance-unnecessary-value-param] Avoid
@@ -6781,7 +6781,7 @@ static bool HandleConstructorCall(const Expr *E, const
LValue &This,
// and make sure we've initialized every step along it.
auto IndirectFieldChain = IFD->chain();
for (auto *C : IndirectFieldChain) {
-FD = cast(C);
+FD
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/143168
>From cc00e6ad5192bbd6059542196fac286e7182d153 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 23 May 2025 14:22:21 -0700
Subject: [PATCH 1/2] [C++20][Modules] Fix false compilation error with
cons
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/143168
Use canonical field decl when evaluating constexpr to avoid resetting computed
union value due to using different instances of the merged field decl. Pointer
to the field comparison `Value->isUnion() && Valu
dmpolukhin wrote:
> I have a mixed feeling about whether we should always exclude all coroutines
> by default or not. When a coroutine has only one `co-operator` and nothing
> else should be safe to use a reference parameter? Am I wrong?
No, it may not be safe even in case of single co_return
dmpolukhin wrote:
@HerrCai0907 @carlosgalvezp @PiotrZSL one more friendly ping. Please take a
look, the change is benign and trivial one liner + test. I think it will really
improve this check and avoid long hours for developers to figure out dangling
references.
https://github.com/llvm/llvm-
dmpolukhin wrote:
@HerrCai0907 @carlosgalvezp @PiotrZSL friendly ping, please take a look!
https://github.com/llvm/llvm-project/pull/140912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/140912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From e3ce9bb18f165649b00db14b2282649315b28883 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/3] [clang-tidy][performance-unnecessary-value-param] Avoid
@@ -0,0 +1,81 @@
+// RUN: %check_clang_tidy -std=c++20-or-later %s
performance-unnecessary-value-param %t -- -fix-errors
+
+namespace std {
+
+template struct coroutine_traits {
+ using promise_type = typename R::promise_type;
+};
+
+template struct coroutine_handle;
+
+templa
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/140912
>From e3ce9bb18f165649b00db14b2282649315b28883 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 21 May 2025 07:54:02 -0700
Subject: [PATCH 1/2] [clang-tidy][performance-unnecessary-value-param] Avoid
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/140912
Summary:
Replacing by-value parameters with passing by-reference is not safe for
coroutines because the caller may be executed in parallel with the callee,
which increases the chances of resulting in danglin
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/9] [clang] Fix for regression #130917
Changes in #111992
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 01/11] [clang] Fix for regression #130917
Changes in #11199
https://github.com/dmpolukhin commented:
PTAL
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1392,6 +1392,20 @@ class ASTReader
llvm::DenseMap DefinitionSource;
+ /// The set of extra flags about declarations that we have read from
+ /// the module file.
+ struct ExternalDeclarationBits {
+/// Indicates if given function declaration was a definition but
dmpolukhin wrote:
> LGTM.
>
> But I didn't recognize you didn't update `MultiplexExternalSemaSource`. Every
> time we add new interface to `ExternalASTSource`, we need to update
> `MultiplexExternalSemaSource` too.
Oh, thanks for the good catch! Fixed now.
https://github.com/llvm/llvm-projec
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 01/10] [clang] Fix for regression #130917
Changes in #11199
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/7] [clang] Fix for regression #130917
Changes in #111992
@@ -1390,7 +1390,19 @@ class ASTReader
/// predefines buffer may contain additional definitions.
std::string SuggestedPredefines;
- llvm::DenseMap DefinitionSource;
+ struct DefinitionSourceFlags {
dmpolukhin wrote:
Done
https://github.com/llvm/llvm-pr
@@ -1390,7 +1390,19 @@ class ASTReader
/// predefines buffer may contain additional definitions.
std::string SuggestedPredefines;
- llvm::DenseMap DefinitionSource;
+ struct DefinitionSourceFlags {
+ExtKind HasExternalDefinitions : 2;
+
+/// Indicates if given fu
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/6] [clang] Fix for regression #130917
Changes in #111992
@@ -2572,7 +2572,7 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(
// Friend function defined withing class template may stop being function
// definition during AST merges from different modules, in this case decl
// with function body should be used for instantiat
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/132214
Changes in #111992 was too broad. This change reduces scope of previous fix.
Unfortunately in clang there is no way to know when redeclaration was craeted
artificially due to AST mergse and when it was the c
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2572,7 +2572,7 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(
// Friend function defined withing class template may stop being function
// definition during AST merges from different modules, in this case decl
// with function body should be used for instantiat
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/5] [clang] Fix for regression #130917
Changes in #111992
@@ -2572,7 +2572,7 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(
// Friend function defined withing class template may stop being function
// definition during AST merges from different modules, in this case decl
// with function body should be used for instantiat
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/3] [clang] Fix for regression #130917
Changes in #111992
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/132214
>From 91e057bf990e2c454b897982ed0b4e823bb3faba Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 20 Mar 2025 06:51:46 -0700
Subject: [PATCH 1/4] [clang] Fix for regression #130917
Changes in #111992
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/132214
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
@zixu-w and @ChuanqiXu9 Just want to clarify policies about changes reversion.
As far as I understand it was one example in some private codebase with no
reproducer publicly available. I can understand and completely agree if it
breaks any existing test or llvm-build bot. But
@@ -0,0 +1,90 @@
+// RUN: rm -rf %t
dmpolukhin wrote:
Please add a comment that the test results in `llvm_unreachable` in debug
builds so debug build should be used to investigate problems with the test.
https://github.com/llvm/llvm-project/pull/121245
https://github.com/dmpolukhin commented:
LGTM but let @ChuanqiXu9 approve.
https://github.com/llvm/llvm-project/pull/121245
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/121245
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/123648
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/7] [C++20][Modules] Fix crash/compiler error due broken AS
@@ -799,14 +813,14 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
}
if (D->getFriendObjectKind()) {
-// For a function defined inline within a class template, we have to force
-// the canonical definition to be the one inside the canonical definition
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/7] [C++20][Modules] Fix crash/compiler error due broken AS
@@ -799,14 +817,12 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
}
if (D->getFriendObjectKind()) {
-// For a function defined inline within a class template, we have to force
-// the canonical definition to be the one inside the canonical definition
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/6] [C++20][Modules] Fix crash/compiler error due broken AS
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/123648
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin commented:
Added release note
https://github.com/llvm/llvm-project/pull/123648
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -539,11 +539,12 @@ class ASTReader
/// Mapping from main decl ID to the related decls IDs.
///
- /// These related decls have to be loaded right after the main decl.
- /// It is required to have canonical declaration for related decls from the
- /// same module as th
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/5] [C++20][Modules] Fix crash/compiler error due broken AS
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/4] [C++20][Modules] Fix crash/compiler error due broken AS
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/3] [C++20][Modules] Fix crash/compiler error due broken AS
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/123648
>From e5cd06ddbc4193f9d5910eba93f0eb309d67063c Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Mon, 20 Jan 2025 09:03:25 -0800
Subject: [PATCH 1/2] [C++20][Modules] Fix crash/compiler error due broken AS
@@ -1571,9 +1571,10 @@ void ASTDeclWriter::VisitCXXRecordDecl(CXXRecordDecl *D)
{
} else {
Record.push_back(0);
}
-// For lambdas inside canonical FunctionDecl remember the mapping.
+// For lambdas inside template functions, remember the mapping to
+/
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/123648
Summary:
This PR fixes bugreport https://github.com/llvm/llvm-project/issues/122493 The
root problem is the same as before lambda function and DeclRefExpr references a
variable that does not belong to the sa
dmpolukhin wrote:
@ilya-biryukov and @ChuanqiXu9 thank you for your help with the review, testing
and reproducers. Very appreciated!
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From d71fb50ca68448578b797bb85f3a607dc9739d45 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/9] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/9] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
FYI, I tested the latest version on our reproducers and it fixed all known
issues due to friend inline functions.
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/8] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin commented:
> The two problems I see are:
>
> * invalid `no matching constructor for initialization of` errors for some
> particular type,
I think it is due to applying my changes too wide (i.e. to normal member
functions and use first decl for them). I hope I fix
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1976,14 +1976,16 @@
TemplateDeclInstantiator::VisitFunctionTemplateDecl(FunctionTemplateDecl *D) {
if (!InstParams)
return nullptr;
+ // Use canonical templated decl because only canonical decl has body
+ // if declarations were merged during loading from modules.
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/7] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin commented:
Updated PR
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1976,14 +1976,16 @@
TemplateDeclInstantiator::VisitFunctionTemplateDecl(FunctionTemplateDecl *D) {
if (!InstParams)
return nullptr;
+ // Use canonical templated decl because only canonical decl has body
+ // if declarations were merged during loading from modules.
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/6] [C++20][Modules] Load function body from the module tha
dmpolukhin wrote:
@ilya-biryukov could you please test the latest version on your sources?
It seems that I found generic enough solution for the problem when clang uses
merged decl with no body for template instantiation. See changes in
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp.
https://
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/5] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 3eaaa7d70f4b57cc13bd00bd3a3a921f7914d599 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/4] [C++20][Modules] Load function body from the module tha
dmpolukhin wrote:
> The missing bit was `-O1`, as soon as I've added that, I am now getting the
> error with this commit and not getting any error without this commit. Here is
> a proper reproducer:
> [friends.tgz](https://github.com/user-attachments/files/17950471/friends.tgz)
Thank you for
dmpolukhin wrote:
@ilya-biryukov unfortunately it seems that the reproducer is very sensitive to
the exact clang revision. I tried it with current main
b8eef18868570b2f5244d6d43de02a1812d1c880 and this PR on top of the revision. In
both cases I don't see any problems at all (no errors, no warn
dmpolukhin wrote:
I do believe that the issue about ODR violation cannot be caused by this change
itself. I suggest merging this PR as is and I'll take a look at the reproducer
as soon as you create it. This PR fixes known issues with reproducers so I'm in
doubt what makes this change so speci
dmpolukhin wrote:
@alexfh and @ilya-biryukov do you have any updates?
https://github.com/llvm/llvm-project/pull/111992
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin approved this pull request.
I think it is unexpected side effect of https://reviews.llvm.org/D143436. The
diff was written together https://reviews.llvm.org/D148663 that was rejected so
this edge was accidentally broken.
https://github.com/llvm/llvm-project/pull/1
dmpolukhin wrote:
> Update: we've found a failure with `"function X has different bodies"` but my
> suspicion is that it's surfacing an existing issue rather than introducing a
> new one. I've managed to workaround it in our codebase by modularizing a bit
> more of the codebase.
Thank you for
1 - 100 of 407 matches
Mail list logo