[clang] [Clang] Implement resolution for CWG1835 (PR #92957)

2024-05-30 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/92957 >From 616b2cf138f9b4a1f3a23db404f77c0603ad61e1 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 21 May 2024 13:15:24 -0400 Subject: [PATCH 1/2] [WIP][Clang] Implement resolution for CWG1835 ---

[clang] [Clang][Sema] Diagnose variable template explicit specializations with storage-class-specifiers (PR #93873)

2024-05-30 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/93873 According to [[temp.expl.spec] p2](http://eel.is/c++draft/temp.expl.spec#2): > The declaration in an _explicit-specialization_ shall not be an > _export-declaration_. An explicit specialization shall not use a

[clang] [Clang][Sema] Diagnose variable template explicit specializations with storage-class-specifiers (PR #93873)

2024-05-30 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/93873 >From e638448bce1dd529acbf81592f324bdc1ecb3e19 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 28 May 2024 07:42:06 -0400 Subject: [PATCH 1/2] [Clang][Sema] Diagnose variable template explicit s

[clang] [Clang][Sema] Diagnose variable template explicit specializations with storage-class-specifiers (PR #93873)

2024-05-30 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @mizvekov GCC seems to be right; [[decl.meaning.general] p3.3](eel.is/c++draft/dcl.meaning.general#3.3) requires that the specialized declaration be nominable (per [[basic.scope.scope] p7](eel.is/c++draft/basic.scope.scope#7)) in `S` (which in this case is the global namespa

[clang] [Clang][Sema] Diagnose variable template explicit specializations with storage-class-specifiers (PR #93873)

2024-05-30 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/93873 >From e638448bce1dd529acbf81592f324bdc1ecb3e19 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 28 May 2024 07:42:06 -0400 Subject: [PATCH 1/3] [Clang][Sema] Diagnose variable template explicit s

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-02 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 0e779c3386c345fb68f4273f08748f5a344682e0 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/3] [Clang][Sema] Improve support for explicit speciali

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-02 Thread Krystian Stasiowski via cfe-commits
@@ -2803,7 +2803,207 @@ getRHSTemplateDeclAndArgs(Sema &SemaRef, TypeAliasTemplateDecl *AliasTemplate) { return {Template, AliasRhsTemplateArgs}; } -// Build deduction guides for a type alias template. +// Build deduction guides for a type alias template from the given unde

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-02 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 0e779c3386c345fb68f4273f08748f5a344682e0 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/4] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-02 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Added tests + diagnostics for ambiguous member specializations https://github.com/llvm/llvm-project/pull/88963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-02 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @yxsamliu The type of `this` is always a pointer. The class member access operator may only be overloaded for operands of class type. In your reduced example, could you provide a value of `T` that would instantiate to a valid specialization? https://github.com/llvm/llvm-proj

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-02 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @yxsamliu The call to `this->construct` in the `emplace` member of the partial specialization `class optional` _is_ a bug -- unlike the primary class template, the partial specialization for `T&` does _not_ inherit from `optional_operations_base` (which declares the `construc

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-02 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @dyung It's a bit difficult to tell what the code is intended to do. An expression naming a non-static member function must either be the postfix-expression of a call, or be the terminal name of a qualified-id that is the operand of unary `&`. https://github.com/llvm/llvm-pr

[clang] [clang-tools-extra] [Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base clas

2024-05-02 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @alexey-bataev see https://github.com/llvm/llvm-project/pull/90152#issuecomment-2089786180 https://github.com/llvm/llvm-project/pull/84050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
@@ -275,6 +275,13 @@ Response HandleFunction(Sema &SemaRef, const FunctionDecl *Function, TemplateArgs->asArray(), /*Final=*/false); +if (RelativeToPrimary && +(Function->getTemplateSpeciali

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH] [Clang][Sema] Earlier type checking for builtin unary o

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/2] [Clang][Sema] Earlier type checking for builtin unar

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/3] [Clang][Sema] Earlier type checking for builtin unar

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @erichkeane Release note added https://github.com/llvm/llvm-project/pull/90500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/3] [Clang][Sema] Earlier type checking for builtin unar

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Yup, working on it :) https://github.com/llvm/llvm-project/pull/90500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @erichkeane I think this is actually a bug in how I applied [[temp.dep.type] p5](http://eel.is/c++draft/temp.dep.type#5): > A qualified name is dependent if > - it is a _conversion-function-id_ whose _conversion-type-id_ is dependent, or > - its lookup context is dependent and

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/4] [Clang][Sema] Earlier type checking for builtin unar

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/90894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
@@ -2803,7 +2803,207 @@ getRHSTemplateDeclAndArgs(Sema &SemaRef, TypeAliasTemplateDecl *AliasTemplate) { return {Template, AliasRhsTemplateArgs}; } -// Build deduction guides for a type alias template. +// Build deduction guides for a type alias template from the given unde

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/90894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/90999 This fixes a bug in #90152 where `operator=` was never looked up in the current instantiation, resulting in `<` never being interpreted as the start of a template argument list. Since function templates are

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/90999 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90999 >From 0e013635fe6cf665cf8a928e0df2b0c451e60b89 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Fri, 3 May 2024 15:27:02 -0400 Subject: [PATCH 1/2] [Clang][Sema] Fix template name lookup for operator=

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @shafik More tests added https://github.com/llvm/llvm-project/pull/90500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/90999 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @zmodem Fixed in 3191e0b52725aa17651e38d26284386f3ea64eb6 https://github.com/llvm/llvm-project/pull/90152 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @dyung Yup, that is expected https://github.com/llvm/llvm-project/pull/90152 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Ping @erichkeane https://github.com/llvm/llvm-project/pull/90760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90760 >From a30530b4de31fab70911cb7b51e7a7e274fd2a38 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 1 May 2024 10:54:12 -0400 Subject: [PATCH 1/3] [Clang][Sema] Explicit template arguments are not su

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From bcffb80bba2a6f9ce9eddad61b99a3e59a58f8a0 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/5] [Clang][Sema] Improve support for explicit speciali

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Ping @AaronBallman https://github.com/llvm/llvm-project/pull/81642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From bcffb80bba2a6f9ce9eddad61b99a3e59a58f8a0 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/6] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 68ae8a9321b96da8cde1a1813d5e2b0c352649b7 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/4] [Clang][Sema] Earlier type checking for builtin unar

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
@@ -764,9 +764,9 @@ AST_POLYMORPHIC_MATCHER(isImplicit, return Node.isImplicit(); } -/// Matches classTemplateSpecializations, templateSpecializationType and -/// functionDecl that have at least one TemplateArgument matching the given -/// InnerMatcher. +/// Matches template

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @AaronBallman release note added (feel free to suggest any changes to it :)) https://github.com/llvm/llvm-project/pull/81642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-06 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90760 >From a30530b4de31fab70911cb7b51e7a7e274fd2a38 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 1 May 2024 10:54:12 -0400 Subject: [PATCH 1/4] [Clang][Sema] Explicit template arguments are not su

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From bcffb80bba2a6f9ce9eddad61b99a3e59a58f8a0 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/7] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/7] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/8] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/91339 The following snippet causes a crash: ```cpp template struct A { bool operator<=>(const A&) const requires true = default; }; bool f(A a) { return a != A(); } ``` This occurs because during the rewri

[clang] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91339 >From b199345e93410ad4e7f7f4b37f09c7e66572d43a Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 7 May 2024 10:07:26 -0400 Subject: [PATCH 1/4] [Clang][Sema] Don't set instantiated from function wh

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/8] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91339 >From b199345e93410ad4e7f7f4b37f09c7e66572d43a Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 7 May 2024 10:07:26 -0400 Subject: [PATCH 1/5] [Clang][Sema] Don't set instantiated from function wh

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/7] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: There is a crash that occurs in the clang-tidy test suite. It will go away once #91339 is merged (I plan to merge that first). This will also fix #90349. https://github.com/llvm/llvm-project/pull/88963 ___ cfe-commits mailing list c

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Oh, forgot about the release note :) I'll add one https://github.com/llvm/llvm-project/pull/88963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
@@ -111,6 +111,13 @@ Clang Frontend Potentially Breaking Changes $ clang --target= -print-target-triple +- The ``getTypeAsWritten`` member function has been removed from ``ClassTemplateSpecializationDecl`` and + ``VarTemplateSpecializationDecl``, and a new member fu

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
@@ -111,6 +111,13 @@ Clang Frontend Potentially Breaking Changes $ clang --target= -print-target-triple +- The ``getTypeAsWritten`` member function has been removed from ``ClassTemplateSpecializationDecl`` and + ``VarTemplateSpecializationDecl``, and a new member fu

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/8] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @erichkeane I added two release notes (one for the bug fix to constraint substitution, and one for allowing explicit specializations of constrained member functions). https://github.com/llvm/llvm-project/pull/88963 ___ cfe-commits

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 1/9] [Clang][Sema] Improve support for explicit speciali

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 01/10] [Clang][Sema] Improve support for explicit specia

[clang] [clang-tools-extra] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91339 >From b199345e93410ad4e7f7f4b37f09c7e66572d43a Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 7 May 2024 10:07:26 -0400 Subject: [PATCH 1/6] [Clang][Sema] Don't set instantiated from function wh

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 01db101ca28f26181dfedeaef1ec49a5ae42ee99 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 01/11] [Clang][Sema] Improve support for explicit specia

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90760 >From e5e0f25de3307128914b6fcfc9223b389e7b6438 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 1 May 2024 10:54:12 -0400 Subject: [PATCH 1/5] [Clang][Sema] Explicit template arguments are not su

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/81642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90760 >From e5e0f25de3307128914b6fcfc9223b389e7b6438 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 1 May 2024 10:54:12 -0400 Subject: [PATCH 1/5] [Clang][Sema] Explicit template arguments are not su

[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: This seems to cause a crash in lldb in `ClassTemplateSpecializationDecl::getSourceRange()`... investigating https://github.com/llvm/llvm-project/pull/81642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[clang] [clang-tools-extra] Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (PR #91393)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @adrian-prantl While I'm not 100% certain of this, I _think_ modules are cached between test runs for LLDB (the only way I was able to reproduce the crash was by precompiling modules with clang built from the commit before this one, and then deserializing with clang built fro

[clang] [Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (PR #90760)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/90760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91339 >From 715406a9188129dafef18674e4a5870e17dba8c5 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 7 May 2024 10:07:26 -0400 Subject: [PATCH 1/6] [Clang][Sema] Don't set instantiated from function wh

[clang] [clang-tools-extra] [Clang][Sema] Don't set instantiated from function when rewriting operator<=> (PR #91339)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/91339 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/88963 >From 5957a414940e4b113eb4ae7db65a36bfb332b8d4 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Tue, 16 Apr 2024 13:36:11 -0400 Subject: [PATCH 01/11] [Clang][Sema] Improve support for explicit specia

[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)

2024-05-07 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/88963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Ping @shafik https://github.com/llvm/llvm-project/pull/90500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @bgra8 Reduced to ```cpp template struct A { template auto f(U u) -> decltype(operator=(u)); }; template struct A; ``` Seems like `f` is being set as invalid without any diagnostic... I think I can fix this quickly https://github.com/llvm/llvm-project/pull/90152 __

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Looks like `ActOnDependentIdExpression` tries to build a `DependentScopeDeclRefExpr`, which fails because `BuildDependentDeclRefExpr` returns `ExprError()` if no qualifier is present. I'll open a PR shortly. https://github.com/llvm/llvm-project/pull/90152

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/91498 Fixes [this crash](https://github.com/llvm/llvm-project/pull/90152#issuecomment-2100688849) caused by #90152. Will add tests shortly. >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @bgra8 see #91498 https://github.com/llvm/llvm-project/pull/90152 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @alexfh It won't fix the example in your comment (but I have a separate fix for it) https://github.com/llvm/llvm-project/pull/90152 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/91503 Fixes [this bug](https://github.com/llvm/llvm-project/pull/90152#issuecomment-2100932093) caused by #90152. Will add tests shortly. >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001 Fr

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91503 >From fd4172e64384379a7c976c4ce597eac629bc111f Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:59:24 -0400 Subject: [PATCH] [Clang][Sema] Fix lookup of dependent operator= named by

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @alexfh see #91503 https://github.com/llvm/llvm-project/pull/90152 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91498 >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:18:49 -0400 Subject: [PATCH 1/2] [Clang][Sema] Fix lookup of dependent operator= outsi

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91503 >From fd4172e64384379a7c976c4ce597eac629bc111f Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:59:24 -0400 Subject: [PATCH 1/2] [Clang][Sema] Fix lookup of dependent operator= named

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91503 >From fd4172e64384379a7c976c4ce597eac629bc111f Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:59:24 -0400 Subject: [PATCH 1/3] [Clang][Sema] Fix lookup of dependent operator= named

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
@@ -1269,19 +1269,19 @@ struct FindLocalExternScope { }; } // end anonymous namespace +static bool isDependentAssignmentOperator(DeclarationName Name, + DeclContext *LookupContext) { + auto *LookupRecord = dyn_cast_if_present(LookupCon

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
@@ -1269,19 +1269,19 @@ struct FindLocalExternScope { }; } // end anonymous namespace +static bool isDependentAssignmentOperator(DeclarationName Name, + DeclContext *LookupContext) { + auto *LookupRecord = dyn_cast_if_present(LookupCon

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91498 >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:18:49 -0400 Subject: [PATCH 1/4] [Clang][Sema] Fix lookup of dependent operator= outsi

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
@@ -137,17 +137,16 @@ namespace InhCtor { int n = b.T(); // expected-error {{'T' is a protected member of 'InhCtor::A'}} // expected-note@-15 {{declared protected here}} - // FIXME: EDG and GCC reject this too, but it's not clear why it would be - // ill-

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91498 >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:18:49 -0400 Subject: [PATCH 1/5] [Clang][Sema] Fix lookup of dependent operator= outsi

[clang] [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (PR #91534)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/91534 We do not deduce template arguments from the exception specification when determining the primary template of a function template specialization or when taking the address of a function template. Therefore, t

[clang] [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (PR #91534)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
@@ -5485,20 +5485,40 @@ static bool isAtLeastAsSpecializedAs(Sema &S, SourceLocation Loc, switch (TPOC) { case TPOC_Call: for (unsigned I = 0, N = Args2.size(); I != N; ++I) - ::MarkUsedTemplateParameters(S.Context, Args2[I], false, -

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91498 >From 60d2030216403c7cfa8272396497d31aed314288 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:18:49 -0400 Subject: [PATCH 1/5] [Clang][Sema] Fix lookup of dependent operator= outsi

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian closed https://github.com/llvm/llvm-project/pull/91498 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix lookup of dependent operator= named by using-declaration (PR #91503)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91503 >From 163c22df80a5e8c753ded0d5cf5e909553477059 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 12:59:24 -0400 Subject: [PATCH 1/3] [Clang][Sema] Fix lookup of dependent operator= named

[clang] [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (PR #91534)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91534 >From eea39228271166b4d8f39b32d7866cb33dffdd0b Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Wed, 8 May 2024 08:43:23 -0400 Subject: [PATCH 1/2] [Clang][Sema] Do not mark template parameters in the

[clang] [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (PR #91534)

2024-05-08 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @erichkeane Release note added https://github.com/llvm/llvm-project/pull/91534 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @glandium I've reduced it to the following: ```cpp template struct A { static constexpr bool B = true; }; template struct C { }; template struct D { C::B> f(); }; template auto D::f() -> C::B> { } ``` The problem is that we build a `DependentScopeDeclRefExpr` for `A::

[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @aeubanks I think I'm going to revert this & maybe partially revert the changes in #90152 which cause `operator=` to be treated as a dependent name when the current class is templated. There are lots of edge cases that need to be accounted for. Thoughts @erichkeane ? https:/

[clang] Revert "[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)" (PR #91620)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/91620 This reverts commit 62b5b61f436add042d8729dc9837d055613180d9 (#91498). >From 7b2f3da17dfc93a4f0aa69ad4da90707b6f2e8b6 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 9 May 2024 12:30:28 -0400 Su

[clang] Revert "[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)" (PR #91620)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: Is it alright to partially revert commits in a single PR? If so, I'm just going to revert all the `operator=` related changes from #91498, #90999, and #90152. https://github.com/llvm/llvm-project/pull/91620 ___ cfe-commits mailing l

[clang] Revert "[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)" (PR #91620)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91620 >From 7b2f3da17dfc93a4f0aa69ad4da90707b6f2e8b6 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 9 May 2024 12:30:28 -0400 Subject: [PATCH 1/4] Revert "[Clang][Sema] Fix lookup of dependent operato

[clang] Revert "[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)" (PR #91620)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/91620 >From 7b2f3da17dfc93a4f0aa69ad4da90707b6f2e8b6 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 9 May 2024 12:30:28 -0400 Subject: [PATCH 1/3] Revert "[Clang][Sema] Fix lookup of dependent operato

[clang] [Clang][Sema] Revert changes to operator= lookup in templated classes from #91498, #90999, and #90152 (PR #91620)

2024-05-09 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/91620 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

<    2   3   4   5   6   7   8   9   >