https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/81985
>From ddafb4672e1a481d4a9556ebe31ca9a07e1f3569 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 16 Feb 2024 03:51:07 -0800
Subject: [PATCH 1/3] [clang-tidy][readability-identifier-naming] Resolve
sym
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/81985
>From ddafb4672e1a481d4a9556ebe31ca9a07e1f3569 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 16 Feb 2024 03:51:07 -0800
Subject: [PATCH 1/3] [clang-tidy][readability-identifier-naming] Resolve
sym
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/81985
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
Message-ID:
In-Reply-To:
dmpolukhin wrote:
> Got it. I am pretty interested use case for modules. And from your commit
> history, it looks like you prefer header units than named modules?
Yes, we prefer header units for the time being
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin
Message-ID:
In-Reply-To:
https://github.com/dmpolukhin ready_for_review
https://github.com/llvm/llvm-project/pull/104512
___
cfe-commits mailing list
cfe-commits@lists.llvm.
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin
Message-ID:
In-Reply-To:
dmpolukhin wrote:
@ChuanqiXu9 please take a look, I had to load lambdas delayed to avoid bad
cycles when current function was not fully deserialized yet but lambda inside
reference it. Now t
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
@@ -764,6 +792,15 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
Record.push_back(D->param_size());
for (auto *P : D->parameters())
Re
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/104512
>From 8772795571c9e36c498cb3dba5496e695dfcb7a2 Mon Sep 17 00:00:00 2001
From: Dmitry P
Valentin Clement =?utf-8?b?KOODkOODrOODsw==?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
@@ -764,6 +792,15 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
Record.push_back(D->param_size());
for (auto *P : D->parameters())
R
Valentin Clement =?utf-8?b?KOODkOODrOODsw==?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
@@ -1188,6 +1188,11 @@ class ASTReader
/// once recursing loading has been completed.
llvm::SmallVector PendingOdrMergeChecks;
+ /// Lambdas that ne
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
@@ -1155,6 +1155,16 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
for (unsigned I = 0; I != NumParams; ++I)
Params.push_back(readDeclAs
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/104512
___
cfe-commits mailing list
cfe-commits@lis
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/104512
___
cfe-commits mailing list
cfe-commits@lis
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
dmpolukhin wrote:
@ChuanqiXu9 thank you a lot for the review and help with the changes, very
appreciated!
https://github.com/llvm/llvm-project/pull/104512
_
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/104512
Summary:
Because AST loading code is lazy and happens in unpredictable order it could
happen that function and lambda inside function can be loaded from different
modules. In this case, captured DeclRefExpr
dmpolukhin wrote:
> I feel the change is somewhat odd to me. Since the description is about the
> lambda but the change is about VarDecls. I feel there is a mismatch and I
> feel this may not solve the underlying problem fundamentally. I feel it'll be
> better to make it more straight forward.
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/100739
Summary:
Macro like `va_start`/`va_end` marked as builtin functions that makes these
identifiers special and it results in redefinition of the identifiers as
builtins and it hides macro definitions during pr
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/100739
>From edc7f5c84caefeae197a5884c91ec2194fd3148b Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 26 Jul 2024 05:02:52 -0700
Subject: [PATCH 1/2] [C++20][Modules] Allow using stdarg.h with header units
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/100739
>From edc7f5c84caefeae197a5884c91ec2194fd3148b Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 26 Jul 2024 05:02:52 -0700
Subject: [PATCH 1/3] [C++20][Modules] Allow using stdarg.h with header units
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/100739
>From edc7f5c84caefeae197a5884c91ec2194fd3148b Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 26 Jul 2024 05:02:52 -0700
Subject: [PATCH 1/4] [C++20][Modules] Allow using stdarg.h with header units
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/98488
>From a05c4ca2c2e61653e7bd8d3a2f5faa6b86daa615 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 11 Jul 2024 07:01:49 -0700
Subject: [PATCH 1/3] [clang-tidy] Fix false in unnecessary-value-param inside
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/98488
>From a05c4ca2c2e61653e7bd8d3a2f5faa6b86daa615 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 11 Jul 2024 07:01:49 -0700
Subject: [PATCH 1/4] [clang-tidy] Fix false in unnecessary-value-param inside
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/98488
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
Quick update, all clang/cxx-library tests pass with the change but when I test
it on my real project with modules I see crash or assert in
[ASTDeclMerger::MergeDefinitionData](https://github.com/llvm/llvm-project/blob/main/clang/lib/Serialization/ASTReaderDecl.cpp#L2081)
abou
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
Message-ID:
In-Reply-To:
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/104512
>From d54f01fe6c49131a3ff4514520e5270889b9affb Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 15 Aug 2024 14:03
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
Message-ID:
In-Reply-To:
dmpolukhin wrote:
> I am curious about your real project, is it open source?
Unfortunately, it is not an open source project but we use bunch of OSS
libraries like Folly, Thrift and many other so I see bugs th
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/98309
Summary:
These is no sense to report this cases as an error or add `inline` explicitly
in this cases. If it is not required in normal headers. Similar to #60079.
Test Plan: check-clang
>From 7fd31fea6d4a3003
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/98309
___
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/98309
___
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/98488
Summary:
If callExpr is type dependent, there is no way to analyze individual arguments
until template specialization. Before this diff only calls with dependent
callees were skipped so unnecessary-value-para
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/98488
>From a05c4ca2c2e61653e7bd8d3a2f5faa6b86daa615 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 11 Jul 2024 07:01:49 -0700
Subject: [PATCH 1/2] [clang-tidy] Fix false in unnecessary-value-param inside
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/98488
>From a05c4ca2c2e61653e7bd8d3a2f5faa6b86daa615 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 11 Jul 2024 07:01:49 -0700
Subject: [PATCH 1/2] [clang-tidy] Fix false in unnecessary-value-param inside
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/91738
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dmpolukhin reopened
https://github.com/llvm/llvm-project/pull/91738
___
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.
https://github.com/llvm/llvm-project/pull/91738
___
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.
https://github.com/llvm/llvm-project/pull/92659
___
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/100739
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Dmitry Polukhin
Date: 2021-03-24T06:43:13-07:00
New Revision: 338d16275571df4d841609d7e12bcb310b3a95e6
URL:
https://github.com/llvm/llvm-project/commit/338d16275571df4d841609d7e12bcb310b3a95e6
DIFF:
https://github.com/llvm/llvm-project/commit/338d16275571df4d841609d7e12bcb310b3a95e6.dif
https://github.com/dmpolukhin converted_to_draft
https://github.com/llvm/llvm-project/pull/104512
___
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/104512
>From 8e11c66e4515bb35671853b89152b43d1ff60ffa Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 15 Aug 2024 14:03:57 -0700
Subject: [PATCH 1/3] [RFC][C++20][Modules] Fix crash when function and lambd
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/104512
>From 8e11c66e4515bb35671853b89152b43d1ff60ffa Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 15 Aug 2024 14:03:57 -0700
Subject: [PATCH 1/4] [RFC][C++20][Modules] Fix crash when function and lambd
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/104512
>From 8e11c66e4515bb35671853b89152b43d1ff60ffa Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 15 Aug 2024 14:03:57 -0700
Subject: [PATCH 1/4] [RFC][C++20][Modules] Fix crash when function and lambd
dmpolukhin wrote:
> Here is another example that merging lambdas are problematic: #102721.
> Although I think we need to solve the problems separately. They are different
> problems.
Thank you for the reference, we need this fix too.
> But the current patch still smells bad. Let's try to find
https://github.com/dmpolukhin ready_for_review
https://github.com/llvm/llvm-project/pull/104512
___
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/104512
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
> And I am still slightly unclear about how we load the wrong lambda first.
Here is stack trace how decl from wrong module becomes canonical.
Full stack trace
```
frame #0: 0x5e651e29
clang`clang::ASTDeclReader::VisitCXXRecordDeclImpl(this=0x7ffe0b70,
D=0x00
https://github.com/dmpolukhin converted_to_draft
https://github.com/llvm/llvm-project/pull/104512
___
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/104512
>From 8e11c66e4515bb35671853b89152b43d1ff60ffa Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Thu, 15 Aug 2024 14:03:57 -0700
Subject: [PATCH 1/5] [RFC][C++20][Modules] Fix crash when function and lambd
dmpolukhin wrote:
@ChuanqiXu9 please take another look. I changed approach to remember which
lambdas exist in FunctionDecl and load them for the first decl. I'm still
testing it but interested to know does it look like something that address your
concernes?
https://github.com/llvm/llvm-proje
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
dmpolukhin wrote:
> this is causing a crash with precompiled headers. I can try to reduce, but
> hopefully the problem is obvious from this assert/stack trace?
@aeubanks co
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
@@ -1155,6 +1155,16 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
for (unsigned I = 0; I != NumParams; ++I)
Params.push_back(readDeclAs
Valentin Clement =?utf-8?b?KOODkOODrOODsw==?=,Kyungwoo Lee
,Dmitry
Polukhin ,Dmitry Polukhin
Message-ID:
In-Reply-To:
dmpolukhin wrote:
> [repro.zip](https://github.com/user-attachments/files/16986643/repro.zip)
>
> edit: got a better reduced repro, see attachment
Thank you for the reprod
https://github.com/dmpolukhin approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/112380
___
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/112380
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1,32 +1,53 @@
-// RUN: %clang_cc1 -std=c++14 -fmodules %s -verify
-// RUN: %clang_cc1 -std=c++14 -fmodules %s -verify -triple i686-windows
-// expected-no-diagnostics
-#pragma clang module build A
-module A {}
-#pragma clang module contents
-#pragma clang module begin A
+// RU
dmpolukhin wrote:
> still trying to reduce the reproducer...
Please create a reproducer, the stack trace doesn't have information to
understand what is causing the issue.
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commits mailing list
c
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/111662
Summary:
`#pragma` and headers that finish with them shouldn't prevent `import
"header_unit.h"` syntax.
Test Plan: check-clang
>From 300a567bd983754cc1187dc122f98c0f7d408b99 Mon Sep 17 00:00:00 2001
From: D
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/60
>From dc4a79c2ee5630eb551ea3a40b4bd67da20c7034 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 4 Oct 2024 06:41:34 -0700
Subject: [PATCH 1/4] [RFC][C++20][Modules] Relax ODR check in unnamed modules
@@ -2527,7 +2527,7 @@ class BitsUnpacker {
inline bool shouldSkipCheckingODR(const Decl *D) {
return D->getASTContext().getLangOpts().SkipODRCheckInGMF &&
- D->isFromGlobalModule();
+ (D->isFromGlobalModule() || !D->isInNamedModule());
dmpolu
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/111662
___
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/111992
Summary:
Fix crash from reproducer provided in
https://github.com/llvm/llvm-project/pull/109167#issuecomment-2405289565
Test Plan: TBD (need to further reduce the reproducer)
>From 0d02e79ced894769cfbea45a1
dmpolukhin wrote:
> Here is the reproducer that crashes at head.
> [lambdas.tgz](https://github.com/user-attachments/files/17329901/lambdas.tgz)
I reproduced this issue on my machine and confirm that it is indeed due to my
changes. https://github.com/llvm/llvm-project/pull/111992 has fix that
@@ -10057,15 +10057,18 @@ void ASTReader::finishPendingActions() {
// For a function defined inline within a class template, force the
// canonical definition to be the one inside the canonical definition of
// the template. This ensures that we instantiate fr
https://github.com/dmpolukhin ready_for_review
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:
> I've checked #111992 and it does fix the problem, so let's land it?
Yes, I would like to create a test case to don't regress this feature in
future. I need to reduce libc++ `functional` header to something smaller.
https://github.com/llvm/llvm-project/pull/109167
__
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/111992
>From 0d02e79ced894769cfbea45a121670e933e2c886 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/2] [C++20][Modules] Load function body from the module tha
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/60
Summary:
Option `-fskip-odr-check-in-gmf` is set by default and I think it is what most
of C++ developers want. But in header units, Clang ODR checking is too strict,
making them hard to use, as seen in the
dmpolukhin wrote:
> this has also caused the following issue to pop up in our modules build
>
> ```
> error: variable 'param' cannot be implicitly captured in a lambda with no
> capture-default specified
> ```
>
> hopefully the error provides some guidance for where to look, but I can try
> t
@@ -1,32 +1,53 @@
-// RUN: %clang_cc1 -std=c++14 -fmodules %s -verify
-// RUN: %clang_cc1 -std=c++14 -fmodules %s -verify -triple i686-windows
-// expected-no-diagnostics
-#pragma clang module build A
-module A {}
-#pragma clang module contents
-#pragma clang module begin A
+// RU
dmpolukhin wrote:
> @dmpolukhin I am still confusing about the problem. I mean, why your previous
> patch will break the reproducer and why this patch can "fix" it? I feel the
> current patch is somewhat workaround. It's not your fault. The original codes
> are somewhat tricky already. But let
dmpolukhin wrote:
@ilya-biryukov could you please take a look?
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 f7740527720756a469f7f3e7a17a354097438abf Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 11 Oct 2024 05:35:18 -0700
Subject: [PATCH 1/3] [C++20][Modules] Load function body from the module tha
dmpolukhin wrote:
> Thanks for the analysis. I feel (2) is easier to me IIUC. I feel it is a
> natural extension of your previous work. WDYT?
I implemented this approach and it works. I tried to limit eager
deserialization to the minimal set of functions (at the moment it is friend
inline fri
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/60
>From dc4a79c2ee5630eb551ea3a40b4bd67da20c7034 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 4 Oct 2024 06:41:34 -0700
Subject: [PATCH 1/3] [RFC][C++20][Modules] Relax ODR check in unnamed modules
@@ -2527,7 +2527,7 @@ class BitsUnpacker {
inline bool shouldSkipCheckingODR(const Decl *D) {
return D->getASTContext().getLangOpts().SkipODRCheckInGMF &&
- D->isFromGlobalModule();
+ (D->isFromGlobalModule() || !D->isInNamedModule());
dmpolu
@@ -0,0 +1,32 @@
+// RUN: rm -fR %t
+// RUN: split-file %s %t
+// RUN: cd %t
+// RUN: %clang_cc1 -verify -std=c++20 -fskip-odr-check-in-gmf
-emit-header-unit -xc++-user-header bz0.h
+// RUN: %clang_cc1 -verify -std=c++20 -fskip-odr-check-in-gmf
-emit-header-unit -xc++-user-heade
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/60
>From dc4a79c2ee5630eb551ea3a40b4bd67da20c7034 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Fri, 4 Oct 2024 06:41:34 -0700
Subject: [PATCH 1/2] [RFC][C++20][Modules] Relax ODR check in unnamed modules
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/60
___
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/111662
>From b92fc2c1b59f655ddd426bdc853621e91c0f70b4 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 9 Oct 2024 04:01:42 -0700
Subject: [PATCH 1/2] [C++20][Modules] Allow import for a header unit after
#
@@ -10057,15 +10057,18 @@ void ASTReader::finishPendingActions() {
// For a function defined inline within a class template, force the
// canonical definition to be the one inside the canonical definition of
// the template. This ensures that we instantiate fr
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
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
https://github.com/dmpolukhin edited
https://github.com/llvm/llvm-project/pull/112883
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -952,13 +952,15 @@ static void PrintPreprocessedTokens(Preprocessor &PP,
Token &Tok,
continue;
} else if (Tok.is(tok::annot_header_unit)) {
// This is a header-name that has been (effectively) converted into a
- // module-name.
+ // module-name, pr
@@ -5713,8 +5713,7 @@ void ASTWriter::WriteDeclAndTypes(ASTContext &Context) {
// efficent becuase it allows lazy deserialization.
RecordData FunctionToLambdasMapRecord;
for (const auto &Pair : FunctionToLambdasMap) {
dmpolukhin wrote:
@rnk yes, th
https://github.com/dmpolukhin created
https://github.com/llvm/llvm-project/pull/110131
Summary:
https://github.com/llvm/llvm-project/pull/109167 serializes
FunctionToLambdasMap in the order of pointers in DenseMap. It gives different
order with different memory layouts. Fix this issue by using
dmpolukhin wrote:
@eaeltsin do you know which artifacts become non-deterministic? Is it produced
object file or serialized AST?
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dmpolukhin wrote:
I think it is due to this change :( I'm iterating over `Decl*` in
`FunctionToLambdasMap`. I'm fixing it by replacing the pointers with
LocalDeclID that should be stable.
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commi
dmpolukhin wrote:
@eaeltsin because I don't have a reproducer for the issue, could you please
check that fix helps on your reproducer?
https://github.com/llvm/llvm-project/pull/110131
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lis
https://github.com/dmpolukhin closed
https://github.com/llvm/llvm-project/pull/110131
___
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/109167
Summary:
Because AST loading code is lazy and happens in unpredictable order, it is
possible that a function and lambda inside the function can be loaded from
different modules. As a result, the captured Dec
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/109167
>From 72b43bd2f392a009187e1cdd90627691a4017707 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 18 Sep 2024 09:02:23 -0700
Subject: [PATCH 1/5] [C++20][Modules] Fix crash when function and lambda
in
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/109167
>From 72b43bd2f392a009187e1cdd90627691a4017707 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 18 Sep 2024 09:02:23 -0700
Subject: [PATCH 1/4] [C++20][Modules] Fix crash when function and lambda
in
dmpolukhin wrote:
@ChuanqiXu9 thank you for the detailed steps, I uploaded new version. Does it
look like something you had in mind?
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/109167
>From 72b43bd2f392a009187e1cdd90627691a4017707 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 18 Sep 2024 09:02:23 -0700
Subject: [PATCH 1/2] [C++20][Modules] Fix crash when function and lambda
in
dmpolukhin wrote:
With DeclContext visitor collectLambdas takes 0.03% or smaller, sometime I
don't even see it in sampling profile.
https://github.com/llvm/llvm-project/pull/109167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/109167
>From 72b43bd2f392a009187e1cdd90627691a4017707 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 18 Sep 2024 09:02:23 -0700
Subject: [PATCH 1/3] [C++20][Modules] Fix crash when function and lambda
in
dmpolukhin wrote:
> Would you like to explain more why this fail previously in more detail?
Original code in `ASTReader::finishPendingActions` looked like this:
```
for (auto ID : PendingLambdas)
GetDecl(ID);
PendingLambdas.clear();
```
The issue here is that the code uses implicit
https://github.com/dmpolukhin updated
https://github.com/llvm/llvm-project/pull/109167
>From 72b43bd2f392a009187e1cdd90627691a4017707 Mon Sep 17 00:00:00 2001
From: Dmitry Polukhin
Date: Wed, 18 Sep 2024 09:02:23 -0700
Subject: [PATCH 1/6] [C++20][Modules] Fix crash when function and lambda
in
201 - 300 of 375 matches
Mail list logo