[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 &S, FunctionDecl *NewFD, OldDecl, Previous); } +static void CheckFunctionDeclarationAttributesUsage(Sema &S, +Funct

[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 https://github.com/

[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] [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 n

[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? > > ![image](https://private-user-images.githubusercontent.com/74590115/297492800-203deb5a-b798-4ca2-8a6f-cc45a811d0f6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJna

[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] 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 extrac

[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 && !isa(*Current))

[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
@@ -1478,11 +1478,10 @@ static bool IsOverloadOrOverrideImpl(Sema &SemaRef, 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 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 paramete

[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 new-expr

[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

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 didn'

[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

[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] 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
@@ -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, 'pure'

[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] [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] [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] 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
@@ -3063,11 +3064,18 @@ bool Sema::SubstDefaultArgument( /*ForDefinition*/ false); if (addInstantiatedParametersToScope(FD, PatternFD, *LIS, TemplateArgs)) return true; + if (FD->isOutOfLine()) { +auto *CurrentTemplateArgumentList = Template

[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. https://git

[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 https://lis

[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][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][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: https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/67095 ___ cfe-commits m

[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? htt

[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 &state, QualType &type, attr.setUsedAsTypeAttr();

[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 spe

[clang] [CONCEPTS]Corrected comparison of constraints with out of line CTD (PR #69244)

2023-10-18 Thread Erich Keane via cfe-commits
erichkeane wrote: My main two reviewers are away this week, and the review I got caught the 'dumb' stuff I'm likely to miss anyway. So I'm going to merge this to give it more time to bake, and count on RAC. https://github.com/llvm/llvm-project/pull/69244 __

[clang] [CONCEPTS]Corrected comparison of constraints with out of line CTD (PR #69244)

2023-10-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/69244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
erichkeane wrote: > > > > Wouldn't it be better to go the other way around? i.e. have a > > > > `[[clang::compressed_bitfield]]` (or whatever) which influences the > > > > ABI, so it's possible to do stuff like > > > > ``` > > > > [[clang::compressed_bitfield]] bool IsSomething : 1; > > > > [[c

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
@@ -107,6 +107,10 @@ def NonBitField : SubsetSubjectisBitField()}], "non-bit-field non-static data members">; +def BitField : SubsetSubjectisBitField()}], + "bit-field non-static data members">; erichk

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
@@ -7219,6 +7219,18 @@ its underlying representation to be a WebAssembly ``funcref``. }]; } +def DebugInfoTypeDocumentation : Documentation { + let Category = DocCatField; + let Content = [{ +This attribute allows to alter type of a bitfield in debug information. +Such a

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
@@ -7219,6 +7219,18 @@ its underlying representation to be a WebAssembly ``funcref``. }]; } +def DebugInfoTypeDocumentation : Documentation { + let Category = DocCatField; + let Content = [{ +This attribute allows to alter type of a bitfield in debug information. +Such a

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
erichkeane wrote: > > One thing I REALLY hate about our pattern of using bitfields for enums, is > > that it becomes pretty trivial to add an entry to an enum and forget to > > increase the size of the bitfield. I think such a attribute could cause a > > diagnostic of `bitfield says it holds a

[clang] [clang] Add clang::debug_info_type attribute for bitfields (PR #69104)

2023-10-18 Thread Erich Keane via cfe-commits
@@ -5910,6 +5910,30 @@ static void handleBuiltinAliasAttr(Sema &S, Decl *D, D->addAttr(::new (S.Context) BuiltinAliasAttr(S.Context, AL, Ident)); } +static void handleDebugInfoTypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) { + if (!AL.hasParsedType()) { +S.Diag(AL.get

[clang] [Sema] Fixed faulty shift count warning (PR #69521)

2023-10-19 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I think this looks right, but if @shafik would take an additional look, I'd appreciate it. Additionally, this needs a release note. https://github.com/llvm/llvm-project/pull/69521 ___ cfe-commits mailing list

[clang] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-19 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: The release note needs work, and I'm not completely sure what you mean to say, if you try to clarify it, perhaps I can help correct the wording. Else LGTM. https://github.com/llvm/llvm-project/pull/68878 ___ c

[clang-tools-extra] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-19 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/68878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-19 Thread Erich Keane via cfe-commits
@@ -396,6 +396,10 @@ Bug Fixes in This Version cannot be used with ``Release`` mode builds. (`#68237 `_). - Fix crash in evaluating ``constexpr`` value for invalid template function. Fixes (`#68542

[clang-tools-extra] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-19 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: The release note needs work, and I'm not completely sure what you mean to say, if you try to clarify it, perhaps I can help correct the wording. Else LGTM. https://github.com/llvm/llvm-project/pull/68878 ___ c

[clang] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-19 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/68878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang]Avoid to check created local variable multiple time when evaluating (PR #69106)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > I test example in branch llvmorg-16.0.6,ExprConstant.cpp also has this > assertion but it will not result in crash.So I think you should not remove > this assertion and try to find the reason `!Result.isAbsent()` Maybe its > valueKind changed somewhere(just my guess). I ag

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: >I meant warning on something like https://godbolt.org/z/Ma17xjjc5. That >doesn't seem like it should be that hard. Yeah, that one wouldn't be too hard (and isn't a pattern I've ever seen TBH), but doesn't solve the problem at hand, which is that it is very common to need to

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > > > @erichkeane I guess you'd be pretty happy if our enums were declared the > > > following way: > > > Not really? That doesn't gain us the 'we must change where this is stored' > > situation like a preferred_type attribute would/could. We MIGHT be able to > > get away wi

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: Ah, found it: https://godbolt.org/z/59sc87Y3Y See how on the assignment to a bitfield we check to make sure the largest value of the enum will fit in the bitfield? I'm saying I want us to do this EARLIER, on declaration with this attribute. https://github.com/llvm/llvm-proj

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > > See how on the assignment to a bitfield we check to make sure the largest > > value of the enum will fit in the bitfield? I'm saying I want us to do this > > EARLIER, on declaration with this attribute. > > I totally do. Thank you for pointing out to `-Wbitfield-enum-conv

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: >In my previous comments >(https://github.com/llvm/llvm-project/pull/69104#issuecomment-1771167758, >https://github.com/llvm/llvm-project/pull/69104#issuecomment-1771204043) I >provided an example of StoredNameKind enum that has enumerators 0 through 8 (9 >total, 4 bits to s

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > > which brings up an additional concern/thing to deal with for the > > non_storable attribute (that is, do we apply it to assignments? how about > > exact-assignments like you've done there?). > > Conservative approach would be to issue diagnostics based on `non_storable`

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: >>I'm still thinking my way through a non_storable attribute, but on its face, >>it seems like it could be overkill. I suspect (but haven't measured!) that >>there is way more code out there that maps enumerations to bit-fields that >>expect all members of the enumeration to

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > > > There's some danger here. _BitInt is a C23 feature as are enumerations > > > with a fixed underlying type. Enumerations with a fixed underlying type > > > explicitly disallow using a bit-precise integer type as the underlying > > > type. See C23 6.7.2.2p4, which says in

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > I filed an issue for this, automatically mentioned above. Fixed! https://github.com/llvm/llvm-project/pull/69104 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-19 Thread Erich Keane via cfe-commits
erichkeane wrote: > I'm ignoring signed/unsigned mismatch as @erichkeane and @AaronBallman > suggested. The only outstanding aspect is the following diagnostic I added > today and haven't received feedback on: > > ```c++ > [[clang::preferred_type(bool)]] unsigned b4 : 1; > [[clang::preferr

[clang] Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (PR #69676)

2023-10-20 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/69676 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-20 Thread Erich Keane via cfe-commits
erichkeane wrote: >As I mentioned in >https://github.com/llvm/llvm-project/pull/69104#discussion_r1365269451, I'm >not putting any restrictions on type parameter of the attribute, which makes >even more sense for more generic preferred_type. >But I'm confused by the fact you are raising this

[clang] [clang] Fix designated initializers inside templates (PR #69712)

2023-10-20 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/69712 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-20 Thread Erich Keane via cfe-commits
erichkeane wrote: > > However, will this actually work in practice in the debugger? If not, > > perhaps we should limit to just integer and enumeration types for now, > > leaving the extension for the future. > > I composed an example of that: > > ```c++ > struct A { > short a1; > short a

[clang] [NFC] use `StringSet::insert(iter, iter)` instead for loop to insert (PR #69851)

2023-10-23 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. Ends up being completely NFC, new form of insert is just the same loop. https://github.com/llvm/llvm-project/pull/69851 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm

[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

2023-10-23 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. LGTM, i think we're in an acceptable way forward, particularly on diagnostics. https://github.com/llvm/llvm-project/pull/69104 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lis

[clang] [Sema] Fixed faulty shift count warning (PR #69521)

2023-10-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. Alright, looks like @shafik isn't going to review this, so I'll just have to accept it. LGTM. https://github.com/llvm/llvm-project/pull/69521 ___ cfe-commits mailing list cfe-commits@lists.llv

[clang] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/68878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-24 Thread Erich Keane via cfe-commits
@@ -455,6 +455,10 @@ Bug Fixes in This Version cannot be used with ``Release`` mode builds. (`#68237 `_). - Fix crash in evaluating ``constexpr`` value for invalid template function. Fixes (`#68542

[clang-tools-extra] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. LGTM, please update the release notes if it fixes that bug too. https://github.com/llvm/llvm-project/pull/68878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[clang] [clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator (PR #68878)

2023-10-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. LGTM, please update the release notes if it fixes that bug too. https://github.com/llvm/llvm-project/pull/68878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[clang] [C23] Use thread_local semantics (PR #70107)

2023-10-24 Thread Erich Keane via cfe-commits
@@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -triple i686-pc-linux-gnu -std=c23 -emit-llvm -o - %s | FileCheck %s + +// Ensure that thread_local and _Thread_local emit the same codegen. See +// https://github.com/llvm/llvm-project/issues/70068 for details. + +void func(void) { + static

[clang] [C23] Use thread_local semantics (PR #70107)

2023-10-24 Thread Erich Keane via cfe-commits
@@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -triple i686-pc-linux-gnu -std=c23 -emit-llvm -o - %s | FileCheck %s + +// Ensure that thread_local and _Thread_local emit the same codegen. See +// https://github.com/llvm/llvm-project/issues/70068 for details. + +void func(void) { + static

[clang] [C23] Use thread_local semantics (PR #70107)

2023-10-24 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/70107 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang]improve diagnosing redefined defaulted constructor with different exception specs (PR #69688)

2023-10-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/69688 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [OpenACC] (PR #70234)

2023-10-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/70234 Initial commits to support OpenACC. This patchset: adds a clang-command line argument '-fopenacc', and starts to define _OPENACC, albeit to '1' instead of the standardized value (since we don't properly impl

[clang] [OpenACC] Initial commits to support OpenACC (PR #70234)

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

[clang] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-10-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/70234 >From b3d64b3f744ccb37e334e3aae8d6874cd8391c56 Mon Sep 17 00:00:00 2001 From: erichkeane Date: Mon, 23 Oct 2023 11:09:11 -0700 Subject: [PATCH 1/5] [OpenACC] Initial commit for OpenACC Support This is the ini

[clang] Diagnose use of VLAs in a coroutine (PR #70341)

2023-10-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. The comment suggestion makes sense to me, else just needs a release note. https://github.com/llvm/llvm-project/pull/70341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.ll

[clang] Diagnose use of VLAs in a coroutine (PR #70341)

2023-10-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/70341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-10-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/70234 >From b3d64b3f744ccb37e334e3aae8d6874cd8391c56 Mon Sep 17 00:00:00 2001 From: erichkeane Date: Mon, 23 Oct 2023 11:09:11 -0700 Subject: [PATCH 1/5] [OpenACC] Initial commit for OpenACC Support This is the ini

[clang-tools-extra] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-10-26 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/70234 >From b3d64b3f744ccb37e334e3aae8d6874cd8391c56 Mon Sep 17 00:00:00 2001 From: erichkeane Date: Mon, 23 Oct 2023 11:09:11 -0700 Subject: [PATCH 1/5] [OpenACC] Initial commit for OpenACC Support This is the ini

[clang] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-10-27 Thread Erich Keane via cfe-commits
erichkeane wrote: Build failures are all 1 test, and are: `File /var/lib/buildkite-agent/builds/linux-56-59b8f5d88-fdgrz-1/llvm-project/clang-ci/libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp Line 410: cannot find start of regex ('{{') in static assertion failed` The patch r

[clang-tools-extra] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-10-27 Thread Erich Keane via cfe-commits
erichkeane wrote: Build failures are all 1 test, and are: `File /var/lib/buildkite-agent/builds/linux-56-59b8f5d88-fdgrz-1/llvm-project/clang-ci/libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp Line 410: cannot find start of regex ('{{') in static assertion failed` The patch r

[clang] [clang][NFC] Annotate `Type` bit-fields with `clang::preferred_type` (PR #70349)

2023-10-27 Thread Erich Keane via cfe-commits
@@ -49,7 +49,7 @@ struct ExprDependenceScope { using ExprDependence = ExprDependenceScope::ExprDependence; struct TypeDependenceScope { - enum TypeDependence : uint8_t { + enum TypeDependence : unsigned { erichkeane wrote: >>My preferred solution would be t

[clang] [clang][NFC] Annotate `Type` bit-fields with `clang::preferred_type` (PR #70349)

2023-10-27 Thread Erich Keane via cfe-commits
erichkeane wrote: We definitely need to wrap these in a macro/hide them in a macro somehow. This will fail `-Werror` on GCC/MSVC/Older Clang compilers. https://github.com/llvm/llvm-project/pull/70349 ___ cfe-commits mailing list cfe-commits@lists.llv

r369773 - [NFC] Move some variable declarations into their 'if' conditions.

2019-08-23 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Fri Aug 23 08:58:35 2019 New Revision: 369773 URL: http://llvm.org/viewvc/llvm-project?rev=369773&view=rev Log: [NFC] Move some variable declarations into their 'if' conditions. A couple of variables are being declared outside of the 'if' condition that is their only actu

r369926 - Fix -dA flag, it is not a preprocessor flag.

2019-08-26 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Mon Aug 26 10:00:13 2019 New Revision: 369926 URL: http://llvm.org/viewvc/llvm-project?rev=369926&view=rev Log: Fix -dA flag, it is not a preprocessor flag. -dA was in the d_group, which is a preprocessor state dumping group. However -dA is a debug flag to cause a verbose

r370261 - Fix always_inline 'target' compatibility check code for Lambdas

2019-08-28 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Wed Aug 28 13:59:25 2019 New Revision: 370261 URL: http://llvm.org/viewvc/llvm-project?rev=370261&view=rev Log: Fix always_inline 'target' compatibility check code for Lambdas The previous version of this used CurFuncDecl in CodeGenFunction, however this doesn't include l

r310483 - Fix broken getAttributeSpellingListIndex for pragma attributes

2017-08-09 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Wed Aug 9 08:27:36 2017 New Revision: 310483 URL: http://llvm.org/viewvc/llvm-project?rev=310483&view=rev Log: Fix broken getAttributeSpellingListIndex for pragma attributes We noticed when implementing a new pragma that the TableGen-generated function getAttributeSpell

r311683 - [Preprocessor] Correct internal token parsing of newline characters in CRLF

2017-08-24 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Thu Aug 24 11:36:07 2017 New Revision: 311683 URL: http://llvm.org/viewvc/llvm-project?rev=311683&view=rev Log: [Preprocessor] Correct internal token parsing of newline characters in CRLF Discovered due to a goofy git setup, the test system-headerline-directive.c (and a

r311732 - Remove .gitattributes, add comment to lineendings.

2017-08-24 Thread Erich Keane via cfe-commits
Author: erichkeane Date: Thu Aug 24 16:25:05 2017 New Revision: 311732 URL: http://llvm.org/viewvc/llvm-project?rev=311732&view=rev Log: Remove .gitattributes, add comment to lineendings. Removed: cfe/trunk/test/Frontend/.gitattributes Modified: cfe/trunk/test/Frontend/system-header-line-

[clang] 349636d - Implement VectorType conditional operator GNU extension.

2020-01-13 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-01-13T13:27:20-08:00 New Revision: 349636d2bfc39a5c81a835a95d203a42d9f9301a URL: https://github.com/llvm/llvm-project/commit/349636d2bfc39a5c81a835a95d203a42d9f9301a DIFF: https://github.com/llvm/llvm-project/commit/349636d2bfc39a5c81a835a95d203a42d9f9301a.diff L

[clang] f0719bf - PR44514: Fix recovery from noexcept with non-convertible expressions

2020-01-13 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-01-13T13:51:48-08:00 New Revision: f0719bf2196c807351137ff30e39fd12aa5aa884 URL: https://github.com/llvm/llvm-project/commit/f0719bf2196c807351137ff30e39fd12aa5aa884 DIFF: https://github.com/llvm/llvm-project/commit/f0719bf2196c807351137ff30e39fd12aa5aa884.diff L

[clang] 606a734 - [PR47636] Fix tryEmitPrivate to handle non-constantarraytypes

2020-09-24 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-09-24T12:09:22-07:00 New Revision: 606a734755d1fb6c35a17680d0c251f834b79334 URL: https://github.com/llvm/llvm-project/commit/606a734755d1fb6c35a17680d0c251f834b79334 DIFF: https://github.com/llvm/llvm-project/commit/606a734755d1fb6c35a17680d0c251f834b79334.diff L

[clang] f8a92ad - Remove dead branch identified by @rsmith on post-commit for D88236

2020-09-24 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-09-24T13:05:15-07:00 New Revision: f8a92adfa242a94052f583ef7b483ae1b493ebdc URL: https://github.com/llvm/llvm-project/commit/f8a92adfa242a94052f583ef7b483ae1b493ebdc DIFF: https://github.com/llvm/llvm-project/commit/f8a92adfa242a94052f583ef7b483ae1b493ebdc.diff L

[clang] 6b104ea - Implement Lambda Conversion Operators for All CCs for MSVC.

2020-11-05 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-11-05T07:25:44-08:00 New Revision: 6b104ea4b4630c2fa841c6d5f7c7a69b08d31979 URL: https://github.com/llvm/llvm-project/commit/6b104ea4b4630c2fa841c6d5f7c7a69b08d31979 DIFF: https://github.com/llvm/llvm-project/commit/6b104ea4b4630c2fa841c6d5f7c7a69b08d31979.diff L

[clang] 6976fef - Update 'note-candiate' functions to skip lambda-conversion-op-overloads

2020-11-17 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-11-17T05:49:31-08:00 New Revision: 6976fef05b7e5301815baa6cc4af27284e8aceb4 URL: https://github.com/llvm/llvm-project/commit/6976fef05b7e5301815baa6cc4af27284e8aceb4 DIFF: https://github.com/llvm/llvm-project/commit/6976fef05b7e5301815baa6cc4af27284e8aceb4.diff L

[clang] a72f11e - Fix a pair of tests that would fail on a win32 box

2020-11-17 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-11-17T14:28:52-08:00 New Revision: a72f11ee20fec2df5611c49ec5ec2ce32ab8eb4c URL: https://github.com/llvm/llvm-project/commit/a72f11ee20fec2df5611c49ec5ec2ce32ab8eb4c DIFF: https://github.com/llvm/llvm-project/commit/a72f11ee20fec2df5611c49ec5ec2ce32ab8eb4c.diff L

[clang] ac73caf - Ensure TreeTransform considers ParmVarDecls as transformed Decls

2020-10-12 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-10-12T14:38:04-07:00 New Revision: ac73cafac0e523879b42b305106cd6e67bfb412e URL: https://github.com/llvm/llvm-project/commit/ac73cafac0e523879b42b305106cd6e67bfb412e DIFF: https://github.com/llvm/llvm-project/commit/ac73cafac0e523879b42b305106cd6e67bfb412e.diff L

[clang] 1c98f98 - Stop ExtractTypeForDeductionGuide from recursing on TypeSourceInfo

2020-12-07 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-12-07T11:29:57-08:00 New Revision: 1c98f984105e552daa83ed8e92c61fba0e401410 URL: https://github.com/llvm/llvm-project/commit/1c98f984105e552daa83ed8e92c61fba0e401410 DIFF: https://github.com/llvm/llvm-project/commit/1c98f984105e552daa83ed8e92c61fba0e401410.diff L

[clang] ec809e4 - PR47372: Fix Lambda invoker calling conventions

2020-10-30 Thread Erich Keane via cfe-commits
Author: Erich Keane Date: 2020-10-30T06:39:55-07:00 New Revision: ec809e4cfe0be08b1bab7ba7e6ff905b9430571a URL: https://github.com/llvm/llvm-project/commit/ec809e4cfe0be08b1bab7ba7e6ff905b9430571a DIFF: https://github.com/llvm/llvm-project/commit/ec809e4cfe0be08b1bab7ba7e6ff905b9430571a.diff L

<    8   9   10   11   12   13   14   15   16   17   >