[clang] [clang][FMV] Direct-call FMV callees from FMV callers (PR #80093)

2024-01-31 Thread Erich Keane via cfe-commits
erichkeane wrote: > My gut feel was that recovering this information from the callee's resolver's > body would take heroics if we tried to do it in the backend. Opt can already see the feature strings in the llvm-attributes, and can introspect into it for the resolver. I could PERHAPS see

[clang] [clang][FMV] Direct-call FMV callees from FMV callers (PR #80093)

2024-01-31 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: My immediate response is that this sounds like something that OPT should be doing here, not us. We typically do NOT do this sort of thing the CFE, and do not want to do opt-type stuff in the CFE. Is there good reason that this isn't a part of the

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-31 Thread Erich Keane via cfe-commits
erichkeane wrote: > > Please do! > > #80150. I don't know, maybe, some more actions should be done. I cannot add > "release:backport" label, at least. I think you just have to set hte milestone, which I did. https://github.com/llvm/llvm-project/pull/80050

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-31 Thread Erich Keane via cfe-commits
erichkeane wrote: > Thanks! Should I open an issue to backport this to RC? Please do! https://github.com/llvm/llvm-project/pull/80050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[Clang][Sema] fix outline member function template with defau… (PR #80144)

2024-01-31 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/80144 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-31 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/80050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-31 Thread Erich Keane via cfe-commits
erichkeane wrote: > > @jcsxky this patch introduced a regression. Please see the reproducer here: > > https://godbolt.org/z/rEfWP75Ta. It compiles before this change and fails > > at this change. It also compiles with gcc and clang-17. > > Sorry for importing new bugs. @erichkeane Could you

[clang] Revert "[Clang][Sema] fix outline member function template with defau… (PR #80144)

2024-01-31 Thread Erich Keane via cfe-commits
erichkeane wrote: Sitting here for CI, will merge when it passes. https://github.com/llvm/llvm-project/pull/80144 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[Clang][Sema] fix outline member function template with defau… (PR #80144)

2024-01-31 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/80144 …lt align crash (#78400)" This reverts commit 7b3389980ddbd84f72ccc4776889c67519cc2c14. A regression was discovered here: https://github.com/llvm/llvm-project/pull/78400 and the author requested a revert to

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-30 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I don't have concerns as written. @cor3ntin : feel free to accept if you like it too. https://github.com/llvm/llvm-project/pull/80050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-30 Thread Erich Keane via cfe-commits
erichkeane wrote: > @AaronBallman @zygoloid There probably is a missing ODR-use marking > somewhere, if you have a clue [#78041 > (comment)](https://github.com/llvm/llvm-project/pull/78041#issuecomment-1917571069) > > Alas we do not seem to have a repro for the chromium-reported issue which

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-30 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/80050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Represent array refs as `TemplateArgument::Declaration` (PR #80050)

2024-01-30 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: Are there any release-notes that should be reverted with this? or at least modified, since this is reverting stuff? Also, can you please add the tests/regressions that were found that have lead to this partial revert?

[flang] [mlir] [libunwind] [libcxx] [compiler-rt] [clang] [openmp] [llvm] [lld] [libcxxabi] [lldb] [clang-tools-extra] [libc] [clang] static operators should evaluate object argument (PR #68485)

2024-01-30 Thread Erich Keane via cfe-commits
erichkeane wrote: I have absolutely no idea how to fix it as I don't understand the syntax of the clangd tests, but it SEEMS like it is just a source-location type thing that is wrong? https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/unittests/InlayHintTests.cpp#L810

[clang-tools-extra] [compiler-rt] [libcxx] [lld] [libc] [flang] [clang] [lldb] [llvm] [concepts] Push a CurContext before substituting into out-of-line constraints for comparison (PR #79985)

2024-01-30 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/79985 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement CTAD for type alias template. (PR #77890)

2024-01-29 Thread Erich Keane via cfe-commits
erichkeane wrote: >We could revert the whole patch when things are broken (and it is what we >usually do). But I'm not sure revert/reland a big patch back and forth is a >good idea. This is effectively what we did repeatedly with the deferred concepts patch and IMO, was a really nice healthy

[clang] Fix analyzer crash on 'StructuralValue' (PR #79764)

2024-01-29 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/79764 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libcxx] [SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (PR #77768)

2024-01-29 Thread Erich Keane via cfe-commits
erichkeane wrote: > However, a revert shouldn't be perceived as an impolite or unfriendly action. > All contributions are welcome and appreciated. Reverting a commit is merely a > way to deal with problems one at a time without blocking others or racing > against the clock. Unfortunately

[clang] [Clang][NFC] Remove TemplateArgumentList::OnStack (PR #79760)

2024-01-29 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: So I like this! I think it is a good change. I WOULD like to see a release note. I know this isn't particularly 'user visible', but I think, paired with some sort of benchmark, that this would be useful to brag about. We often run out of stack space

[clang] [concepts] Set up an instantiation scope for constraint expression comparison (PR #79698)

2024-01-29 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. Please make sure you analyze any libcxx problems on this one. https://github.com/llvm/llvm-project/pull/79698 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [concepts] Set up an instantiation scope for constraint expression comparison (PR #79698)

2024-01-29 Thread Erich Keane via cfe-commits
@@ -797,6 +797,15 @@ static const Expr *SubstituteConstraintExpressionWithoutSatisfaction( if (Inst.isInvalid()) return nullptr; + // Set up a dummy 'instantiation' scope in the case of reference to function + // parameters that the surrounding function hasn't been

[clang] [Clang][Sema] Allow elaborated-type-specifiers that declare member class template explict specializations (PR #78720)

2024-01-29 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78720 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Concepts] Traverse the instantiation chain for parameter injection inside a constraint scope (PR #79568)

2024-01-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. This makes sense to me. https://github.com/llvm/llvm-project/pull/79568 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lldb] [clang] [clang-tools-extra] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-26 Thread Erich Keane via cfe-commits
@@ -8129,29 +8067,133 @@ Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument , else Kind = CharacterLiteralKind::Ascii; -E = new (Context) CharacterLiteral(Arg.getAsIntegral().getZExtValue(), - Kind, T,

[lldb] [clang-tools-extra] [clang] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-26 Thread Erich Keane via cfe-commits
@@ -8129,29 +8067,133 @@ Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument , else Kind = CharacterLiteralKind::Ascii; -E = new (Context) CharacterLiteral(Arg.getAsIntegral().getZExtValue(), - Kind, T,

[lldb] [clang-tools-extra] [clang] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-26 Thread Erich Keane via cfe-commits
@@ -8129,29 +8067,133 @@ Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument , else Kind = CharacterLiteralKind::Ascii; -E = new (Context) CharacterLiteral(Arg.getAsIntegral().getZExtValue(), - Kind, T,

[clang] [lldb] [clang-tools-extra] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-26 Thread Erich Keane via cfe-commits
erichkeane wrote: I see now that hte problem is probably in the Analyzer, so @steakhal is probably the best person to be leading this, but any work you can do @bolshakov-a would also likely be appreciated. https://github.com/llvm/llvm-project/pull/78041

[clang] [Clang][C++26] Implement Pack Indexing (P2662R3). (PR #72644)

2024-01-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. No more comments, this looks good to me, and now that we are post release-branch, I think I'm happy to have this merged. https://github.com/llvm/llvm-project/pull/72644 ___ cfe-commits mailing

[clang] [Sema] Substitute parameter packs when deduced from function arguments (PR #79371)

2024-01-26 Thread Erich Keane via cfe-commits
=?utf-8?q?Gábor?= Spaits Message-ID: In-Reply-To: erichkeane wrote: > I did some more digging. I saw that the test in the CI fails with permission > errors. > > ``` > | No symbol table is loaded. Use the "file" command. > | warning: opening /proc/PID/mem file for lwp 4103309.4103309 failed:

[clang] [lldb] [clang-tools-extra] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-26 Thread Erich Keane via cfe-commits
erichkeane wrote: @bolshakov-a : The original bug has a good amount of analysis to it, so if you could see if there is a fix for it, else we probably do have to revert for that one and miss 18 with this patch. https://github.com/llvm/llvm-project/pull/78041

[clang] [Sema] Substitute parameter packs when deduced from function arguments (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
erichkeane wrote: > @cor3ntin @erichkeane Thank you for checking the updates on my PR. I fixed > the typo and added the release notes. Also rebased the branch. Looks like the release notes change failed CI. https://github.com/llvm/llvm-project/pull/79371

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
@@ -858,6 +859,27 @@ class PackDeductionScope { Info.PendingDeducedPacks[Pack.Index] = Pack.Outer; } + // Return the size of the saved packs if all of them has the same size. + std::optional getSavedPackSizeIfAllEqual() const { +if (Packs.size() == 0 || +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I don't see the release note, and there is a typo in the PR entry that should be fixed. Else just 1 nit. https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[libcxx] [clang] [SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (PR #77768)

2024-01-25 Thread Erich Keane via cfe-commits
erichkeane wrote: >As I understood the author, more time was needed to prepare the tests and the >fix. I just tried to bring the tip of the tree to a good state soon (our >internal release process was blocked on this) without putting any pressure on >the author. Typically when the author is

[libcxx] [clang] [SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (PR #77768)

2024-01-24 Thread Erich Keane via cfe-commits
erichkeane wrote: > I'll go ahead and revert the commit for now. My local test run has just > finished with no new errors. Feel free to recommit with the new test cases > and the fix. Doing a revert like this during our release process is actually quite a disturbance, particularly when the

[clang] [clang-tools-extra] [lldb] Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." (PR #79302)

2024-01-24 Thread Erich Keane via cfe-commits
erichkeane wrote: Fixed in : e3ee3762304aa81e4a240500844bfdd003401b36 https://github.com/llvm/llvm-project/pull/79302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lldb] [clang] [clang-tools-extra] Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." (PR #79302)

2024-01-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/79302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lldb] [clang] [clang-tools-extra] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-24 Thread Erich Keane via cfe-commits
erichkeane wrote: Fixed in: e3ee3762304aa81e4a240500844bfdd003401b36 I'll submit a request to cherry-pick to the release branch. https://github.com/llvm/llvm-project/pull/78041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[lldb] [clang] [clang-tools-extra] [c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (PR #78041)

2024-01-24 Thread Erich Keane via cfe-commits
erichkeane wrote: That certainly makes sense to me. Can you submit a patch for review to do so, then we can get it cherry-picked to 18? It would be great if we could save this feature in 18. https://github.com/llvm/llvm-project/pull/78041 ___

[lldb] [clang] [clang-tools-extra] Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." (PR #79302)

2024-01-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane ready_for_review https://github.com/llvm/llvm-project/pull/79302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lldb] [clang] [clang-tools-extra] Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." (PR #79302)

2024-01-24 Thread Erich Keane via cfe-commits
erichkeane wrote: Waiting on CI bots, then I'll submit this revert, then request this for cherry-pick to the 18 branch. https://github.com/llvm/llvm-project/pull/79302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[lldb] [clang] [clang-tools-extra] Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." (PR #79302)

2024-01-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/79302 Reverts llvm/llvm-project#78041 Based on this comment: https://github.com/llvm/llvm-project/pull/78041#issuecomment-1908243345 and the author's nonavailability to get to it quickly, we're reverting (and

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. LGTM, let me know if you need someone to merge this for you. https://github.com/llvm/llvm-project/pull/78400 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-23 Thread Erich Keane via cfe-commits
@@ -859,6 +859,9 @@ Bug Fixes in This Version Fixes (`#78290 `_) - Fixed assertion failure with deleted overloaded unary operators. Fixes (`#78314 `_) +- Fix crash when

[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

2024-01-22 Thread Erich Keane via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -8938,6 +8957,11 @@ static void processTypeAttrs(TypeProcessingState , QualType , attr.setUsedAsTypeAttr();

[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

2024-01-22 Thread Erich Keane via cfe-commits
Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= Message-ID: In-Reply-To: https://github.com/erichkeane commented: Seems you pinged this without the commit to fix the things we've requested?

[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

2024-01-22 Thread Erich Keane via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/67095 ___ cfe-commits

[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

2024-01-22 Thread Erich Keane via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -3341,7 +3341,7 @@ def RequiresCapability : InheritableAttr { let TemplateDependent = 1; let ParseArgumentsAsUnevaluated

[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

2024-01-22 Thread Erich Keane via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -1894,6 +1894,8 @@ void TypePrinter::printAttributedAfter(const AttributedType *T, case attr::ArmMveStrictPolymorphism:

[clang] [Clang] Update feature test macros for Clang 18 (PR #78991)

2024-01-22 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. Makes sense to me. https://github.com/llvm/llvm-project/pull/78991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix behavior of `__is_trivially_relocatable(volatile int)` (PR #77092)

2024-01-22 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I don't have a good idea here... I don't really know what it means to 'relocate' a volatile. https://github.com/llvm/llvm-project/pull/77092 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-22 Thread Erich Keane via cfe-commits
@@ -3051,6 +3051,7 @@ bool Sema::SubstDefaultArgument( // default argument expression appears. ContextRAII SavedContext(*this, FD); std::unique_ptr LIS; +auto NewTemplateArgs = TemplateArgs; erichkeane wrote: Don't use auto here.

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-22 Thread Erich Keane via cfe-commits
@@ -3063,11 +3064,18 @@ bool Sema::SubstDefaultArgument( /*ForDefinition*/ false); if (addInstantiatedParametersToScope(FD, PatternFD, *LIS, TemplateArgs)) return true; + if (FD->isOutOfLine()) { +auto *CurrentTemplateArgumentList =

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-22 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/78400 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] fix outline member function template with default align crash (PR #78400)

2024-01-22 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: Also needs a release note. https://github.com/llvm/llvm-project/pull/78400 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Print more static_assert exprs (PR #74852)

2024-01-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I think this needs a 'merge' to get rid of the }}} patch changes from its diff, but I'm in favor of the patch otherwise. Probably could use a release note, and a look over @cor3ntin or @cjdb perhaps? https://github.com/llvm/llvm-project/pull/74852

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/78518 >From e3d667796b903d35405014db67b130ae20816bab Mon Sep 17 00:00:00 2001 From: erichkeane Date: Wed, 17 Jan 2024 10:26:22 -0800 Subject: [PATCH 1/2] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-18 Thread Erich Keane via cfe-commits
@@ -692,6 +692,13 @@ def warn_maybe_falloff_nonvoid_function : Warning< def warn_falloff_nonvoid_function : Warning< "non-void function does not return a value">, InGroup; +def warn_const_attr_with_pure_attr : Warning< + "'const' attribute imposes more restrictions,

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/78200 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78200 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Amend SME attributes with support for ZT0. (PR #77941)

2024-01-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. I'm ok with this now. https://github.com/llvm/llvm-project/pull/77941 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [clang] d5000e9 - rename to 'try' isntead of 'Try'x

2024-01-18 Thread Erich Keane via cfe-commits
yeah, something weird happened with this one that i haven't figured out yet. This was a response to a review comment, and was on the review (and committed as a part of that review!) but somehow I managed to 'recommit' it, not sure how. So yeah  I'm usually better at commit messages, but

[libc] [lldb] [lld] [libcxx] [compiler-rt] [flang] [clang] [llvm] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/75883 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libc] [lldb] [lld] [libcxx] [compiler-rt] [flang] [clang] [llvm] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/75883 >From 849b21f202f3c643c12f237920b137c3506996e7 Mon Sep 17 00:00:00 2001 From: Sirraide Date: Tue, 19 Dec 2023 02:48:25 +0100 Subject: [PATCH 1/6] [Clang] Support MSPropertyRefExpr as placement arg to

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: Created as a draft, but I'd still love feedback on the approach, see if there is anyone with ideas on how to manage the 'might take just a single attr, might take a container + variadic list' functionality (as combining a default and a variadic

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -1478,11 +1478,10 @@ static bool IsOverloadOrOverrideImpl(Sema , FunctionDecl *New, return true; // enable_if attributes are an order-sensitive part of the signature. - for (specific_attr_iterator - NewI = New->specific_attr_begin(), - NewE =

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/78518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -43,80 +55,102 @@ class specific_attr_iterator { mutable Iterator Current; void AdvanceToNext() const { -while (!isa(*Current)) +while (!isa(*Current)) ++Current; } void AdvanceToNext(Iterator I) const { -while (Current != I &&

[clang] Make getAttr, getSpecificAttr, hasAttr, and hasSpecificAttr variadic (PR #78518)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/78518 Discussed elsewhere, it makes sense to have these functions be variadic. They work as an 'or', that is, 'has*Attr' is "one of the set", and "get*Attr" means "first of the set". This is accomplished by

[clang] Add Variadic 'dropAttrs' (PR #78476)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/78476 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-17 Thread Erich Keane via cfe-commits
erichkeane wrote: > I’m curious, because I legitimately don’t know, is it common for CI on > windows to take 9 hours? > >

[clang] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-17 Thread Erich Keane via cfe-commits
erichkeane wrote: > > Nope! Once the CI is done, feel free to Squash & Merge. > > I would but I don’t have commit access, so someone else would have to do that > for me. (Also, I do fear that in the time it takes for the CI jobs to > complete, we’ll have another merge conflict w/ the release

[clang] [clang-tools-extra] [Clang][NFC] Rename CXXMethodDecl::isPure -> is VirtualPure (PR #78463)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78463 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add Variadic 'dropAttrs' (PR #78476)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/78476 >From 6790e56b001a29e8bba012514eb3b12cd486d505 Mon Sep 17 00:00:00 2001 From: erichkeane Date: Wed, 17 Jan 2024 09:03:14 -0800 Subject: [PATCH 1/2] Add Variadic 'dropAttrs' As suggested in

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,26 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] Add Variadic 'dropAttrs' (PR #78476)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/78476 As suggested in https://github.com/llvm/llvm-project/pull/78200 This adds a variadic 'dropAttrs', which drops all attributes of any of the types specified. >From 6790e56b001a29e8bba012514eb3b12cd486d505 Mon

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,26 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang-tools-extra] [clang] [Clang][NFC] Rename CXXMethodDecl::isPure -> is VirtualPure (PR #78463)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. I might suggest `isPureVirtual` as it better reflects the 'term of art' (https://en.cppreference.com/w/cpp/language/abstract_class see 'A pure virtual function is a). Else LG and SG TM.

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,26 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,26 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] [Clang][Sema] fix crash of attribute transform (PR #78088)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -7081,10 +7085,10 @@ QualType TreeTransform::TransformAttributedType( // FIXME: dependent operand expressions? if (getDerived().AlwaysRebuild() || modifiedType != oldType->getModifiedType()) { -// TODO: this is really lame; we should really be rebuilding the

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,32 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,32 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,32 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] Warning for incorrect useof 'pure' attribute (PR #78200)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -11792,6 +11792,32 @@ static bool CheckMultiVersionFunction(Sema , FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema , +

[clang] [Clang] NFC: Move Arm type attributes to separate trailing object. (PR #78424)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. This way of moving these further away is alright with me. If Aaron is OK with it, than I am too. So please wait for his approval too. https://github.com/llvm/llvm-project/pull/78424 ___

[clang] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-17 Thread Erich Keane via cfe-commits
erichkeane wrote: > Just did another rebase to update the release notes. > > Is there anything else that needs to be done for this pr? Nope! Once the CI is done, feel free to Squash & Merge. https://github.com/llvm/llvm-project/pull/75883 ___

[lldb] [clang] [llvm] [flang] [libc] [compiler-rt] [libcxx] [clang] Fix assertion failure with deleted overloaded unary operators (PR #78316)

2024-01-17 Thread Erich Keane via cfe-commits
@@ -14310,8 +14310,8 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc, PartialDiagnosticAt(OpLoc, PDiag(diag::err_ovl_deleted_oper) << UnaryOperator::getOpcodeStr(Opc)

[libcxx] [lldb] [compiler-rt] [llvm] [libc] [clang] [flang] [clang] Fix assertion failure with deleted overloaded unary operators (PR #78316)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/78316 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[flang] [llvm] [libc] [clang] [lldb] [libcxx] [compiler-rt] [clang] Fix assertion failure with deleted overloaded unary operators (PR #78316)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. 1 suggestion, not necessary, but I think it is beneficial. https://github.com/llvm/llvm-project/pull/78316 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang] Fix CTAD for aggregates for nested template classes (PR #78387)

2024-01-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78387 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Support MSPropertyRefExpr as placement arg to new-expression (PR #75883)

2024-01-16 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/75883 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Implement CWG2598: Union of non-literal types (PR #78195)

2024-01-16 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78195 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (PR #78274)

2024-01-16 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78274 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema][NFC] Remove unused Scope* parameter from Sema::GetTypeForDeclarator and Sema::ActOnTypeName (PR #78325)

2024-01-16 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/78325 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Implement CWG2598: Union of non-literal types (PR #78195)

2024-01-16 Thread Erich Keane via cfe-commits
@@ -1389,7 +1389,11 @@ bool CXXRecordDecl::isLiteral() const { : hasTrivialDestructor())) return false; - if (isLambda() && !LangOpts.CPlusPlus17) + // Lambdas are literal types since C++17. erichkeane wrote: Hmm... this is

[clang] [Clang] Implement CWG2598: Union of non-literal types (PR #78195)

2024-01-16 Thread Erich Keane via cfe-commits
@@ -1389,7 +1389,11 @@ bool CXXRecordDecl::isLiteral() const { : hasTrivialDestructor())) return false; - if (isLambda() && !LangOpts.CPlusPlus17) + // Lambdas are literal types since C++17. erichkeane wrote: So why is

[clang] [Clang][C++26] Implement Pack Indexing (P2662R3). (PR #72644)

2024-01-16 Thread Erich Keane via cfe-commits
@@ -3767,6 +3767,57 @@ void DependentDecltypeType::Profile(llvm::FoldingSetNodeID , E->Profile(ID, Context, true); } +PackIndexingType::PackIndexingType(const ASTContext , + QualType Canonical, QualType Pattern, +

[clang] [Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (PR #78274)

2024-01-16 Thread Erich Keane via cfe-commits
@@ -6070,7 +6070,7 @@ static TypeSourceInfo *GetFullTypeForDeclarator(TypeProcessingState , /// /// The result of this call will never be null, but the associated /// type may be a null type if there's an unrecoverable error. -TypeSourceInfo

<    6   7   8   9   10   11   12   13   14   15   >