[libcxx] r304891 - Implement LWG 2904.

2017-06-07 Thread Michael Park via cfe-commits
Author: mpark Date: Wed Jun 7 05:22:43 2017 New Revision: 304891 URL: http://llvm.org/viewvc/llvm-project?rev=304891&view=rev Log: Implement LWG 2904. Summary: - Removed the move-constructibe requirement from copy-assignable. - Updated `__assign_alt` such that we direct initialize if `_Tp` can

[libcxx] r304893 - Mark LWG 2904 as complete.

2017-06-07 Thread Michael Park via cfe-commits
Author: mpark Date: Wed Jun 7 05:27:17 2017 New Revision: 304893 URL: http://llvm.org/viewvc/llvm-project?rev=304893&view=rev Log: Mark LWG 2904 as complete. Modified: libcxx/trunk/www/cxx1z_status.html Modified: libcxx/trunk/www/cxx1z_status.html URL: http://llvm.org/viewvc/llvm-project/l

[libcxx] r305370 - Add an `__is_inplace_index` metafunction.

2017-06-13 Thread Michael Park via cfe-commits
Author: mpark Date: Wed Jun 14 00:51:18 2017 New Revision: 305370 URL: http://llvm.org/viewvc/llvm-project?rev=305370&view=rev Log: Add an `__is_inplace_index` metafunction. Summary: This is used to constrain `variant`'s converting constructor correctly. Reviewers: EricWF, mclow.lists Reviewed

[libcxx] r305373 - Mark `__is_inplace_*` tests as UNSUPPORTED in <= C++14.

2017-06-14 Thread Michael Park via cfe-commits
Author: mpark Date: Wed Jun 14 02:12:55 2017 New Revision: 305373 URL: http://llvm.org/viewvc/llvm-project?rev=305373&view=rev Log: Mark `__is_inplace_*` tests as UNSUPPORTED in <= C++14. Modified: libcxx/trunk/test/libcxx/utilities/utility/__is_inplace_index.pass.cpp libcxx/trunk/test/li

[libcxx] r305668 - Add a missing SFINAE condition to the `variant`'s converting constructor.

2017-06-19 Thread Michael Park via cfe-commits
Author: mpark Date: Mon Jun 19 03:25:57 2017 New Revision: 305668 URL: http://llvm.org/viewvc/llvm-project?rev=305668&view=rev Log: Add a missing SFINAE condition to the `variant`'s converting constructor. Remarks: This function shall not participate in overload resolution unless `is_sam

[libcxx] r291344 - Added "Michael Park" to `CREDITS.TXT`.

2017-01-07 Thread Michael Park via cfe-commits
Author: mpark Date: Sat Jan 7 04:19:24 2017 New Revision: 291344 URL: http://llvm.org/viewvc/llvm-project?rev=291344&view=rev Log: Added "Michael Park" to `CREDITS.TXT`. Summary: Test commit + give myself credit. Reviewers: EricWF Differential Revision: https://reviews.llvm.org/D28431 Modifie

[libcxx] r298581 - Worked around GCC bug 56480. Explicit specialization in a different namespace.

2017-03-22 Thread Michael Park via cfe-commits
Author: mpark Date: Thu Mar 23 01:21:24 2017 New Revision: 298581 URL: http://llvm.org/viewvc/llvm-project?rev=298581&view=rev Log: Worked around GCC bug 56480. Explicit specialization in a different namespace. Summary: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 Reviewers: EricWF Review

[libcxx] r292097 - Added a workaround for a `-fdelayed-template-parsing` bug.

2017-01-16 Thread Michael Park via cfe-commits
Author: mpark Date: Mon Jan 16 02:14:25 2017 New Revision: 292097 URL: http://llvm.org/viewvc/llvm-project?rev=292097&view=rev Log: Added a workaround for a `-fdelayed-template-parsing` bug. Summary: There seems to be an additional bug in `-fdelayed-template-parsing` similar to http://llvm.org/vi

[libcxx] r296558 - Updated the XFAIL comment in variant tests.

2017-02-28 Thread Michael Park via cfe-commits
Author: mpark Date: Tue Feb 28 19:07:56 2017 New Revision: 296558 URL: http://llvm.org/viewvc/llvm-project?rev=296558&view=rev Log: Updated the XFAIL comment in variant tests. Summary: `ConstexprTestTypes::NoCtors` is an aggregate type (and consequently a literal type) in C++17, but not in C++14

[libcxx] r297065 - Updated email address in `CREDITS.txt`.

2017-03-06 Thread Michael Park via cfe-commits
Author: mpark Date: Mon Mar 6 14:46:55 2017 New Revision: 297065 URL: http://llvm.org/viewvc/llvm-project?rev=297065&view=rev Log: Updated email address in `CREDITS.txt`. Modified: libcxx/trunk/CREDITS.TXT Modified: libcxx/trunk/CREDITS.TXT URL: http://llvm.org/viewvc/llvm-project/libcxx/t

[libcxx] r302773 - Fix `std::visit` for the zero variants case.

2017-05-11 Thread Michael Park via cfe-commits
Author: mpark Date: Thu May 11 02:17:12 2017 New Revision: 302773 URL: http://llvm.org/viewvc/llvm-project?rev=302773&view=rev Log: Fix `std::visit` for the zero variants case. Summary: The following code is broken: ``` std::visit([]{}); ``` Reviewers: EricWF Reviewed By: EricWF Different

[clang-tools-extra] [clangd] Enable passing a `FeatureModuleSet` to `clangdMain`. (PR #97255)

2024-06-30 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/97255 This diff adds an overload of `clangdMain` that makes a `FeatureModuleSet`. `clangdMain` was initially added in 56ac9d46a7c1 to allow custom builds of clangd outside of the LLVM repo that link against clangd. Curre

[clang-tools-extra] [clangd] Enable passing a `FeatureModuleSet` to `clangdMain`. (PR #97255)

2024-06-30 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/97255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] Fix an inaccurate comment about typo-correction. (PR #108143)

2024-09-10 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/108143 The comment describes "If the identifier was typo-corrected", but it doesn't need to have been typo-corrected, just being annotated is enough to retry. >From a5cb61e79b928dae0272dc9b3c5448050361f775 Mon Sep 17 00

[clang] [NFC] Comment fix: "does specify state that" -> "does specify that" (PR #106338)

2024-08-27 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/106338 None >From 76b247844ba302fc9b62431d1abaa4720372e51f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 27 Aug 2024 22:32:58 -0700 Subject: [PATCH] [NFC] Comment fix: "does specify state that" -> "does specify

[clang-tools-extra] Emit `BeginSourceFile` failure with `elog`. (PR #104845)

2024-08-19 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/104845 There are 3 ways in which `ParseAST::build` can fail and return `std::nullopt`. 2 of the ways we emit the error message using `elog`, but for the 3rd way, `log` is used. We should emit all 3 of these reasons with

[clang] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (PR #105207)

2024-08-20 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/105207 This part of the manual describes uses of `ActOnXXX` and `BuildXXX`. >From 524de01a9759a5f9ba0cad67f8351405fbfa37db Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 20 Aug 2024 10:59:03 -0700 Subject: [PATC

[clang] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (PR #105207)

2024-08-20 Thread Michael Park via cfe-commits
mpark wrote: > LGTM > > We do have some `ActOnCXX...` functions, so thatโ€™s probably how that happened > ;รž Haha yep. I suspect that as well. https://github.com/llvm/llvm-project/pull/105207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[clang] [NFC] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (PR #105207)

2024-08-20 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/105207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (PR #105207)

2024-08-20 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/105207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] Fix an incorrect comment about operator precedence. (PR #105784)

2024-08-22 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/105784 The comment talks about left-associative operators twice, when the latter mention is actually describing right-associative operators. >From 9c90592726137fabbcbc7388b3ce0d4bc496bfc6 Mon Sep 17 00:00:00 2001 From:

[clang] [NFC] Fix an incorrect comment about operator precedence. (PR #105784)

2024-08-23 Thread Michael Park via cfe-commits
mpark wrote: > Thanks (Hi!). Do you have commit access or should I merge that for you? Hi Corentin! I have commit access ๐Ÿ™‚ https://github.com/llvm/llvm-project/pull/105784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/

[clang] [NFC] Fix an incorrect comment about operator precedence. (PR #105784)

2024-08-23 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/105784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Fix the modification detection logic in `ClangdLSPServer::applyConfiguration`. (PR #115438)

2024-11-11 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/115438 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Fix the modification detection logic in `ClangdLSPServer::applyConfiguration`. (PR #115438)

2024-11-11 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/115438 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] Fix the modification detection logic in `ClangdLSPServer::applyConfiguration`. (PR #115438)

2024-11-07 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/115438 The current `ClangdLSPServer::applyConfiguration` logic tests whether the stored CDB for a file has changed. https://github.com/llvm/llvm-project/blob/1adca7af21f1d8cc12b0f1c33db8ab869b36ae48/clang-tools-extra/cl

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/121245 This is fix for an unreachable code path being reached, for an internal use case at Meta. I'm unfortunately still not able to reproduce a minimal example that I can share ๐Ÿ˜ž # Description There is a defaulted co

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-28 Thread Michael Park via cfe-commits
mpark wrote: > Did you try creduce/cvise (although using that with modules might be a bit > challenging) It would be really nice to have a repro so that we have a test > case I did. It did help me reduce it significantly, but it still involves a few modules that are difficult to reduce. I sti

[clang] [C++20] [Modules] [Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-30 Thread Michael Park via cfe-commits
mpark wrote: > +1. It is best to have more test case. Generally I reduce it by hand in this > case. Yeah, I did already spent quite a bit of effort trying to reduce my hand but have not been successful so far. I'll try again and report back. Would you still review the logic / whether the sugg

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2024-12-27 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-02-03 Thread Michael Park via cfe-commits
https://github.com/mpark closed 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

[clang] [C++20][Modules][Serialization] Add an additional test case for #120277. (PR #126349)

2025-02-07 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/126349 https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8 was shipped to address https://github.com/llvm/llvm-project/issues/120277 . It was thought to be a regression in 19.x according

[clang] [C++20][Modules][Serialization] Add an additional test case for #120277. (PR #126349)

2025-02-07 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/126349 >From eac633d78359245f1ce478b5f3cff26c6f5c858f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Fri, 7 Feb 2025 21:23:26 -0800 Subject: [PATCH] [C++20][Modules][Serialization] Add an additional test case for #12

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-02-07 Thread Michael Park via cfe-commits
https://github.com/mpark milestoned 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

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-02-07 Thread Michael Park via cfe-commits
mpark wrote: /cherry-pick a9e249f 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

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-02-07 Thread Michael Park via cfe-commits
mpark wrote: /cherry-pick a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1 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

[clang] [C++20][Modules][Serialization] Add an additional test case for #120277. (PR #126349)

2025-02-08 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/126349 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules][Serialization] Add an additional test case for #120277. (PR #126349)

2025-02-08 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/126349 >From eac633d78359245f1ce478b5f3cff26c6f5c858f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Fri, 7 Feb 2025 21:23:26 -0800 Subject: [PATCH 1/2] [C++20][Modules][Serialization] Add an additional test case for

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-29 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/121245 >From f1871418523dbd2915e4245e655d283114595730 Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 28 Jan 2025 22:01:37 -0800 Subject: [PATCH 1/3] [C++20][Modules][Serialization] Add a unit test for #121245.

[clang] [C++20] [Modules] [Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-28 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/121245 >From 9879eb1e68c7799f14ddef37cf43f43e65ce735e Mon Sep 17 00:00:00 2001 From: Michael Park Date: Fri, 27 Dec 2024 17:52:19 -0800 Subject: [PATCH] Delay marking pending incomplete decl chains until the end of `fin

[clang] [C++20] [Modules] [Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-28 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/121245 >From f8d317ce75e51e467487cb10a89e44b73e6b386a Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 28 Jan 2025 22:01:37 -0800 Subject: [PATCH 1/2] [C++20][Modules][Serialization] Add a unit test for #121245.

[clang] [C++20] [Modules] [Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-28 Thread Michael Park via cfe-commits
mpark wrote: Okay folks, I've finally managed to get a reasonable repro as a unit test! The new unit test, with `Debug` build fails like this: ``` FAIL: Clang :: Modules/pr121245.cpp (8522 of 22154) TEST 'Clang :: Modules/pr121245.cpp' FAILED Exit Code:

[clang] [C++20] [Modules] [Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-28 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/121245 >From f8d317ce75e51e467487cb10a89e44b73e6b386a Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 28 Jan 2025 22:01:37 -0800 Subject: [PATCH 1/2] [C++20][Modules][Serialization] Add a unit test for #121245.

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-28 Thread Michael Park via cfe-commits
https://github.com/mpark 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

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-29 Thread Michael Park via cfe-commits
mpark wrote: > Presumably, we want to cherry pick that in clang 20? Yeah, I'd think so if it's not too late. https://github.com/llvm/llvm-project/pull/121245 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-29 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/121245 >From f8d317ce75e51e467487cb10a89e44b73e6b386a Mon Sep 17 00:00:00 2001 From: Michael Park Date: Tue, 28 Jan 2025 22:01:37 -0800 Subject: [PATCH 1/3] [C++20][Modules][Serialization] Add a unit test for #121245.

[clang] [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (PR #121245)

2025-01-29 Thread Michael Park via cfe-commits
@@ -10483,6 +10476,13 @@ void ASTReader::finishPendingActions() { for (auto *ND : PendingMergedDefinitionsToDeduplicate) getContext().deduplicateMergedDefinitonsFor(ND); PendingMergedDefinitionsToDeduplicate.clear(); + + // For each decl chain that we wanted to complet

[clang] [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-15 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-16 Thread Michael Park via cfe-commits
mpark wrote: Fixes #126973 https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] Add a leading comment to boolean arguments. (PR #131746)

2025-03-19 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/131746 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From ebf6cd9c13ae6dbd9bfcece78491bdf01f0f170f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/3] [clang][modules] Add a unit test for the assertion failure in b

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From ebf6cd9c13ae6dbd9bfcece78491bdf01f0f170f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/3] [clang][modules] Add a unit test for the assertion failure in b

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From ebf6cd9c13ae6dbd9bfcece78491bdf01f0f170f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/3] [clang][modules] Add a unit test for the assertion failure in b

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From ebf6cd9c13ae6dbd9bfcece78491bdf01f0f170f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/3] [clang][modules] Add a unit test for the assertion failure in b

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From ebf6cd9c13ae6dbd9bfcece78491bdf01f0f170f Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/3] [clang][modules] Add a unit test for the assertion failure in b

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
https://github.com/mpark ready_for_review https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Prevent premature call to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-14 Thread Michael Park via cfe-commits
mpark wrote: > Thanks, the explanation and code change makes sense to me. โค๏ธ > Should this bugfix have a release note? I've added a couple of bullet points in the release notes. Please let me know if this is along the lines of what's expected. https://github.com/llvm/llvm-project/pull/129982

[clang] [NFC] Add a leading comment to boolean arguments. (PR #131746)

2025-03-18 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/131746 Addressing [nit comments](https://github.com/llvm/llvm-project/pull/129982#discussion_r1997914387) from @shafik >From d8c4a3fe29bbd95d61d7b9c101912ae00b3d0c8a Mon Sep 17 00:00:00 2001 From: Michael Park Date: T

[clang] [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-18 Thread Michael Park via cfe-commits
@@ -10792,47 +10822,54 @@ void ASTReader::FinishedDeserializing() { --NumCurrentElementsDeserializing; if (NumCurrentElementsDeserializing == 0) { -// Propagate exception specification and deduced type updates along -// redeclaration chains. -// -// We do t

[clang] [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (PR #129982)

2025-03-18 Thread Michael Park via cfe-commits
@@ -4309,12 +4309,12 @@ Decl *ASTReader::ReadDeclRecord(GlobalDeclID ID) { void ASTReader::PassInterestingDeclsToConsumer() { assert(Consumer); - if (PassingDeclsToConsumer) + if (!CanPassDeclsToConsumer) return; // Guard variable to avoid recursively redoing the

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark created https://github.com/llvm/llvm-project/pull/135147 '-fmodule-file-home-is-cwd' was added in https://github.com/llvm/llvm-project/commit/646e502de0d854cb3ecaca90ab52bebfe59a40cd to support relocatable PCMs for Clang modules. This PR extends the functionality to a

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: Ah, interesting. It looks like indeed, this doesn't apply to C++ named modules. ``` // We don't want to hard code the information about imported modules // in the C++20 named modules. ``` https://github.com/llvm/llvm-project/blob/main/clang/lib/Serialization/ASTWriter.cpp

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: > If you did `-fmodule-file==` for header units, I think it is > better to upstream that first. I think it is more fundamental. We don't do anything special downstream. As far as I know it already works today. https://github.com/llvm/llvm-project/pull/135147 _

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: Hm.. I'm not too sure about C++ named modules but for header units, the absolute path of an imported PCM via `-fmodule-file=` gets included in the produced PCM. I think that the `-fmodule-file-home-is-cwd` flag (already existing, I'm not proposing to add a new one) should be respe

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: > > > If you did `-fmodule-file==` for header units, I think it is > > > better to upstream that first. I think it is more fundamental. > > > > > > We don't do anything special downstream. As far as I know it already works > > today. > > If `-fmodule-file==` already works for he

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: Separately, even with named modules, with or without `-fmodules-embed-all-files`, the `INPUT_FILE` paths in the PCM are still absolute. I guess with `-fmodules-embed-all-files` those paths are not used since the source files are embedded, which I suppose is how it avoids problems

[clang] [C++20][Modules] Fix incomplete decl chains (PR #129982)

2025-03-15 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-15 Thread Michael Park via cfe-commits
mpark wrote: Alright folks, I've finally figured this out! I'll describe the high-level problem, what's happening specifically in the test case, and the solution. # High-Level Problem [`ASTReader::FinishedDeserializing`](https://github.com/llvm/llvm-project/blob/release/20.x/clang/lib/Serializ

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-11 Thread Michael Park via cfe-commits
mpark wrote: Synced with @ChuanqiXu9 offline about this. Summarizing the discussion so far: - There are some high-level concerns about the ecosystem, header units specifically. The complexity of the Clang interface and lack of support for header units. - At Meta we are starting to use header un

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: By the way @zygoloid, it looks like you reviewed https://reviews.llvm.org/D51568 which had a similar goal, back in 2018 that didn't get committed. Looks like `-fmodule-file-home-is-cwd` was added in 2022. https://github.com/llvm/llvm-project/pull/135147 ___

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: Going back to the idea of not writing the paths of imported PCMs at all; currently the condition to not write the paths is if the imported PCM is a named module. Perhaps this condition can be extended to omit the paths if the PCM was found through `-fmodule-file==`? https://gith

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: > > But if we want relocatable modules without using > > `-fmodules-embed-all-files` though, is there a solution for that? > > Do you use `-no-canonical-prefixes`? Hi Richard! Hm, no we do not. I haven't seen this before. I can try it though ๐Ÿค” https://github.com/llvm/llvm-project

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-14 Thread Michael Park via cfe-commits
https://github.com/mpark closed https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
mpark wrote: Actually, isn't this a problem even with `-fmodules-embed-all-files` for distributed caching purposes? I think the inputs files containing absolute paths would cause unnecessary cache misses. https://github.com/llvm/llvm-project/pull/135147

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/135147 >From 37a5c579d37d4314f79bcf77b7421bfbf61243aa Mon Sep 17 00:00:00 2001 From: Michael Park Date: Thu, 10 Apr 2025 02:01:07 -0700 Subject: [PATCH] Support '-fmodule-file-home-is-cwd' for C++ modules. '-fmodule-fil

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ header units. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/135147 >From 74e3f0ac74418b3aec2cabde0354623a92303ddc Mon Sep 17 00:00:00 2001 From: Michael Park Date: Thu, 10 Apr 2025 02:01:07 -0700 Subject: [PATCH] Support '-fmodule-file-home-is-cwd' for C++ modules. '-fmodule-fil

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support '-fmodule-file-home-is-cwd' for C++ modules. (PR #135147)

2025-04-10 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/135147 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-06 Thread Michael Park via cfe-commits
@@ -9180,6 +9180,12 @@ bool Sema::hasAcceptableDefinition(NamedDecl *D, NamedDecl **Suggested, if (!getLangOpts().Modules && !getLangOpts().ModulesLocalVisibility) return true; + // The external source may have additional definitions of this entity that are + // visi

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-06 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
@@ -9180,6 +9180,12 @@ bool Sema::hasAcceptableDefinition(NamedDecl *D, NamedDecl **Suggested, if (!getLangOpts().Modules && !getLangOpts().ModulesLocalVisibility) return true; + // The external source may have additional definitions of this entity that are + // visi

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
@@ -9180,6 +9180,12 @@ bool Sema::hasAcceptableDefinition(NamedDecl *D, NamedDecl **Suggested, if (!getLangOpts().Modules && !getLangOpts().ModulesLocalVisibility) return true; + // The external source may have additional definitions of this entity that are + // visi

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
https://github.com/mpark edited https://github.com/llvm/llvm-project/pull/129982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20][Modules] Do not update the declaration generation number if the redeclaration chain completion was delayed. (PR #129982)

2025-03-07 Thread Michael Park via cfe-commits
https://github.com/mpark updated https://github.com/llvm/llvm-project/pull/129982 >From 39b845fd64c2ce173b95ddcafbbab2d5116aa68e Mon Sep 17 00:00:00 2001 From: Michael Park Date: Wed, 5 Mar 2025 18:46:10 -0800 Subject: [PATCH 1/2] [clang][modules] Add a unit test for the assertion failure in b

  1   2   >