[clang] [clang][NFC] Refactor expected directives in C++ DRs 300-399 (PR #74243)

2023-12-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/74243 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] f9afe40 - [clang][NFC] Fill in historical data on when C++ DRs 400-499 were fixed

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2023-12-04T15:15:40+03:00 New Revision: f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe URL: https://github.com/llvm/llvm-project/commit/f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe DIFF: https://github.com/llvm/llvm-project/commit/f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe.

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/74311 This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details. >From fc5d07e9917e84b7927b4d3f6ea5058b008f120f Mon Sep 17 00:00:00 2001

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: This PR is opened to check this patch against pre-commit CI. https://github.com/llvm/llvm-project/pull/74311 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/74311 >From fc5d07e9917e84b7927b4d3f6ea5058b008f120f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 4 Dec 2023 15:15:08 +0300 Subject: [PATCH 1/2] [clang][NFC] Refactor expected directives in C++ DRs 40

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/74311 >From fc5d07e9917e84b7927b4d3f6ea5058b008f120f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 4 Dec 2023 15:15:08 +0300 Subject: [PATCH 1/3] [clang][NFC] Refactor expected directives in C++ DRs 40

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/74311 >From fc5d07e9917e84b7927b4d3f6ea5058b008f120f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 4 Dec 2023 15:15:08 +0300 Subject: [PATCH 1/4] [clang][NFC] Refactor expected directives in C++ DRs 40

[clang] [clang][NFC] Refactor expected directives in C++ DRs 400-499 (PR #74311)

2023-12-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/74311 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Correctly implement CWG 2672 (PR #75001)

2023-12-29 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: DR test changes look good to me, but wait for another reviewer. https://github.com/llvm/llvm-project/pull/75001 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Changed Checks from TriviallyCopyable to TriviallyCopyConstructible (PR #76680)

2024-01-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Can you add some tests? https://github.com/llvm/llvm-project/pull/76680 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Changed Checks from TriviallyCopyable to TriviallyCopyConstructible (PR #76680)

2024-01-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Sure I can , I have also tested the code that was giving erroneous warnings, > so should I add that example as well?? Yes. Clang has a special mode which check which diagnostics are emitted: https://clang.llvm.org/docs/InternalsManual.html#verifying-diagnostics https://github

[clang] Changed Checks from TriviallyCopyable to TriviallyCopyConstructible (PR #76680)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
@@ -2644,6 +2644,49 @@ bool QualType::isTriviallyCopyableType(const ASTContext &Context) const { return false; } +bool QualType::isTriviallyCopyConstructibleType( Endilll wrote: Go ahead, but it would be nice if we don't regress performance along the way

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/76825 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Core idea of removing `DECL_CONTEXT_BASE` and range checks for `DeclContext` nodes seems correct to me, as all this machinery wasn't intended for `DeclContext` in the first place. This is apparent from TableGen definition, which lacks any base parameter: h

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
@@ -210,38 +253,26 @@ void clang::EmitClangDeclContext(RecordKeeper &Records, raw_ostream &OS) { OS << "#ifndef DECL_CONTEXT\n"; OS << "# define DECL_CONTEXT(DECL)\n"; OS << "#endif\n"; - - OS << "#ifndef DECL_CONTEXT_BASE\n"; - OS << "# define DECL_CONTEXT_BASE(DE

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
@@ -196,8 +227,20 @@ void ClangASTNodesEmitter::run(raw_ostream &OS) { } void clang::EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS, - const std::string &N, const std::string &S) { - ClangASTNodesEmitter(RK, N, S).run(OS); +

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-03 Thread Vlad Serebrennikov via cfe-commits
@@ -95,8 +103,31 @@ std::pair ClangASTNodesEmitter::EmitNode(raw_ostream &OS, if (!Base.isAbstract()) First = Last = Base; + class Comp { Endilll wrote: This class looks like a hand-written lambda closure type. Do we really need it in this form? htt

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
Pol Marcet =?utf-8?q?Sardà?= Message-ID: In-Reply-To: https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/76825 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
Pol Marcet =?utf-8?q?Sardà?= Message-ID: In-Reply-To: @@ -95,8 +103,23 @@ std::pair ClangASTNodesEmitter::EmitNode(raw_ostream &OS, if (!Base.isAbstract()) First = Last = Base; + auto comp = [this](ASTNode LHS, ASTNode RHS) { +auto LHSPriorized = PrioritizedClas

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
Pol Marcet =?utf-8?q?Sard=C3=A0?= Message-ID: In-Reply-To: https://github.com/Endilll approved this pull request. LGTM, but you should wait for more approvals before merging. https://github.com/llvm/llvm-project/pull/76825 ___ cfe-commits mailing li

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
Pol Marcet =?utf-8?q?Sard=C3=A0?= Message-ID: In-Reply-To: @@ -70,8 +71,15 @@ class ClangASTNodesEmitter { std::pair EmitNode(raw_ostream& OS, ASTNode Base); public: explicit ClangASTNodesEmitter(RecordKeeper &R, const std::string &N, -con

[clang] [clang] Optimize castToDeclContext for 2% improvement in build times (PR #76825)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
Pol Marcet =?utf-8?q?Sardà?= , Pol Marcet =?utf-8?q?Sardà?= ,Pol M Message-ID: In-Reply-To: Endilll wrote: @Destroyerrrocket We'll merge as soon as you deem it ready and provide commit description. PR description doesn't seem a good fit for a commit description to me. https://github.com/ll

[clang] [clang][Sema] deleted overriding function can have lax except spec (PR #76248)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/76248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Sema] deleted overriding function can have lax except spec (PR #76248)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll requested changes to this pull request. You need to run `clang/www/make_cxx_drs` script in order to make `cxx_dr_status.html` reflect that CWG1351 is now implemented. https://github.com/llvm/llvm-project/pull/76248 ___ cfe-c

[clang] [clang][Sema] deleted overriding function can have lax except spec (PR #76248)

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
@@ -379,6 +379,18 @@ namespace dr1347 { // dr1347: 3.1 #endif } +namespace dr1351 { // dr1351: 1 Endilll wrote: I guess you intended `// dr1351: 18`. https://github.com/llvm/llvm-project/pull/76248 ___ cfe-commits

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

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
@@ -163,6 +170,40 @@ void attribute_const() { std::as_const(n); // expected-warning {{ignoring return value}} } +struct D { + void* operator new(__SIZE_TYPE__, D&&(*)(D&)); + void* operator new(__SIZE_TYPE__, D*(*)(D&)); + void* operator new(__SIZE_TYPE__, const D&(*)(D&)

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

2024-01-04 Thread Vlad Serebrennikov via cfe-commits
@@ -130,27 +137,24 @@ C &&(&rMove)(C&) = std::move; // #8 expected-note {{instantiation of}} C &&(&rForward)(C&) = std::forward; // #9 expected-note {{instantiation of}} int (&rUnrelatedMove)(B, B) = std::move; -#if __cplusplus <= 201703L -// expected-warning@#1 {{non-address

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77178 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wextra -verify + + +int t(int array[static 12]); +int u(int i); +const int v(int i); /* expected-warning {{'const' type qualifier on return type has no effec}} */ Endilll wrote: ```suggestion const int v(int

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: I think this PR moves things in the right direction, but I'm not well-versed in C enough to approve. > This should have a release note and I think this is a potentially breaking > change since folks using Wextra may get this diagnostic now. I agree that r

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wextra -verify + + +int t(int array[static 12]); +int u(int i); +const int v(int i); /* expected-warning {{'const' type qualifier on return type has no effec}} */ +int x(long); + +typedef int (f1)(long); +typedef int (f2)(voi

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wextra -verify Endilll wrote: As written, tests checks only default language mode for C (which is `gnu99` AFAIK). Maybe we want to check other modes as well? https://github.com/llvm/llvm-project/pull/77178

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77178 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-07 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wextra -verify Endilll wrote: Yes, more `RUN` lines with different `-std=` options, and potentially more `expected` directives tailored for particular language mode. We have an example of this in C++ defect

[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)

2024-01-07 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wextra -verify + + +int t(int array[static 12]); +int u(int i); +const int v(int i); /* expected-warning {{'const' type qualifier on return type has no effec}} */ +int x(long); + +typedef int (f1)(long); +typedef int (f2)(voi

[clang] [clang] Update cxx_dr_status.html (PR #77372)

2024-01-08 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/77372 This patch updates cxx_dr_status.html with the latest changes from CWG, while also changing status of tests written for unresolved issues. The latter part requires review from their author. >From 06c25af8522958

[clang] [clang] Update cxx_dr_status.html (PR #77372)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/77372 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Update cxx_dr_status.html (PR #77372)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Can you modify the commit message to reference the issue list version (113) > and maybe link to it ? I referenced issue list version, but I haven't found a link to this particular version. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html always points to the most r

[clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/77444 [P1787](https://wg21.link/p1787): The intent for CWG2335 (contra those of the older CWG1890, CWG1626, CWG1255, and CWG287) is supported by retaining the unrestricted forward lookup in complete-class contexts (de

[clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: This PR has been migrated from https://reviews.llvm.org/D148433. I made non-functional changes to `expected` directives to match the rest of the DR test suite. I also moved CWG2335 test in a dedicated file in order to avoid issues with test isolation. Clang can stop instantiating

[clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77444 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/77509 Covers C++ core issues 1800, 1801, 1802, 1803, 1804. >From d3cb62eba8e2109e44083bd8b9e89a453acad754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 21:51:00 +0300 Subject: [PATCH] [clang]

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: This PR also updates status for CWG437, which is a follow-up to #77372. Nothing wrong with the tooling, just my mistake separating output of make_cxx_dr_status from changes I already had for complete-class context DRs. https://github.com/llvm/llvm-project/pull/77509 _

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77509 >From d3cb62eba8e2109e44083bd8b9e89a453acad754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 21:51:00 +0300 Subject: [PATCH 1/2] [clang] Add tests for CWG1800-1804 Covers C++ core issue

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
@@ -1,16 +1,169 @@ -// RUN: %clang_cc1 -std=c++98 -triple x86_64-unknown-unknown %s -verify=expected,cxx98 -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++11 -triple x86_64-unknown-unknown %s -verify=expected,cxx11-17,since-cx

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-09 Thread Vlad Serebrennikov via cfe-commits
@@ -1,16 +1,169 @@ -// RUN: %clang_cc1 -std=c++98 -triple x86_64-unknown-unknown %s -verify=expected,cxx98 -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++11 -triple x86_64-unknown-unknown %s -verify=expected,cxx11-17,since-cx

[clang] [clang] Add tests for CWG1800-1804 (PR #77509)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/77509 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
@@ -42,6 +42,28 @@ namespace dr1611 { // dr1611: dup 1658 C c; } +namespace dr1626 { // dr1626: no open +// FIXME: current consensus for CWG2335 is that the examples are well-formed. Endilll wrote: Intent expressed in P1787 in PR description seems rather cl

[clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77444 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libc] [compiler-rt] [libclc] [clang] [llvm] [clang-tools-extra] [lld] [flang] [lldb] [libunwind] [libcxx] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77444 >From 1cbf8eec15112cd6871fcfb69425c62f08c8f681 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 14:17:21 +0300 Subject: [PATCH 1/2] [clang] Add tests for DRs about complete-class context MI

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/77637 The test checks that objects in arrays are destructed in reverse order during stack unwinding. >From 545ee4900e48b186e1c9fff93dc62a459ee19754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 10 Jan

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Our C++ DR test suite has little codegen tests (around 3 or 4, depending on how you count). This rather simple DR about order of destruction of stack unwinding aims to establish a precedent for how such test should be written. Specific points I'd like to highlight: 1. Use of `ll

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @erichkeane Defect report reads > The test should also validate the non-catch case! The destruction order is > also relevant for the 'try' block's cleanup as well. So there is probably two > different 'check' sections here that need to happen. So I think while both your points a

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK,CXX98 +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu -emit-llvm -o - -f

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77637 >From 545ee4900e48b186e1c9fff93dc62a459ee19754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 10 Jan 2024 20:27:53 +0300 Subject: [PATCH 1/2] [clang] Add test for CWG1807 The test checks that objec

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77637 >From 545ee4900e48b186e1c9fff93dc62a459ee19754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 10 Jan 2024 20:27:53 +0300 Subject: [PATCH 1/3] [clang] Add test for CWG1807 The test checks that objec

[libc] [clang-tools-extra] [flang] [libcxx] [lld] [compiler-rt] [libunwind] [llvm] [libclc] [lldb] [clang] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77444 >From 1cbf8eec15112cd6871fcfb69425c62f08c8f681 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 14:17:21 +0300 Subject: [PATCH 1/3] [clang] Add tests for DRs about complete-class context MI

[clang] [clang][NFC] Improve comments in C++ DR test suite (PR #77670)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/77670 Previously, we've been mentioning tests that were placed in their own files in corresponding `drNNxx.cpp` file. This patch makes sure we do this consistently, and improves upon existing practice by specifying th

[clang] [clang][NFC] Improve comments in C++ DR test suite (PR #77670)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: This PR is created to check it against CI https://github.com/llvm/llvm-project/pull/77670 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
@@ -164,6 +164,8 @@ void A::C::f4() { } } // namespace dr1804 +// dr1807 is in separate file Endilll wrote: Addressed in the last update. https://github.com/llvm/llvm-project/pull/77637 ___ cfe-commits mailing list

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK,CXX98 +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu -emit-llvm -o - -f

[clang] [clang] Add test for CWG1807 (PR #77637)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77637 >From 545ee4900e48b186e1c9fff93dc62a459ee19754 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 10 Jan 2024 20:27:53 +0300 Subject: [PATCH 1/4] [clang] Add test for CWG1807 The test checks that objec

[clang] [clang][NFC] Improve comments in C++ DR test suite (PR #77670)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/77670 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang-tools-extra] [clang] Add test for CWG472 (PR #67948)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/67948 >From ad0df2131e12c59e57b603b955626e27e3067505 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 2 Oct 2023 08:12:56 +0300 Subject: [PATCH] [clang] Add test for CWG472 --- clang/test/CXX/drs/dr4xx.cp

[clang] [llvm] [clang-tools-extra] [clang] Add test for CWG472 (PR #67948)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/67948 >From ad0df2131e12c59e57b603b955626e27e3067505 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 2 Oct 2023 08:12:56 +0300 Subject: [PATCH 1/2] [clang] Add test for CWG472 --- clang/test/CXX/drs/dr4x

[clang-tools-extra] [clang] [llvm] [clang] Add test for CWG472 (PR #67948)

2024-01-10 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > In the proposed resolution, i do not understand why B* bp = n2p; should be > ill-formed by virtue of being declared in P2 @cor3ntin Do you understand why http://eel.is/c++draft/class.protected#1 is there? (I'm trying to pick the best point to start explanation from) https://g

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: I checked changes to DR tests, as that's the only part of this PR I'm competent enough for. https://github.com/llvm/llvm-project/pull/77753 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77753 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -153,16 +153,16 @@ namespace dr1460 { // dr1460: 3.5 namespace Defaulted { union A { constexpr A() = default; }; union B { int n; constexpr B() = default; }; -// cxx11-17-error@-1 {{defaulted definition of default constructor is not constexpr}} +// cxx11-1

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -410,11 +410,11 @@ namespace dr1358 { // dr1358: 3.1 struct B : Virt { int member; constexpr B(NonLit u) : member(u) {} -// since-cxx11-error@-1 {{constexpr constructor's 1st parameter type 'NonLit' is not a literal type}} -// since-cxx11-note@#dr1358-No

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -584,8 +584,8 @@ namespace dr647 { // dr647: 3.1 struct C { constexpr C(NonLiteral); constexpr C(NonLiteral, int) {} -// since-cxx11-error@-1 {{constexpr constructor's 1st parameter type 'NonLiteral' is not a literal type}} -// since-cxx11-note@#dr647-No

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -423,13 +423,13 @@ namespace dr1359 { // dr1359: 3.5 #if __cplusplus >= 201103L union A { constexpr A() = default; }; union B { constexpr B() = default; int a; }; // #dr1359-B - // cxx11-17-error@-1 {{defaulted definition of default constructor is not constexpr}} + //

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -410,11 +410,11 @@ namespace dr1358 { // dr1358: 3.1 struct B : Virt { int member; constexpr B(NonLit u) : member(u) {} -// since-cxx11-error@-1 {{constexpr constructor's 1st parameter type 'NonLit' is not a literal type}} -// since-cxx11-note@#dr1358-No

[clang] [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (PR #77753)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -349,8 +349,8 @@ namespace dr1684 { // dr1684: 3.6 }; constexpr int f(NonLiteral &) { return 0; } constexpr int f(NonLiteral) { return 0; } - // since-cxx11-error@-1 {{constexpr function's 1st parameter type 'NonLiteral' is not a literal type}} - // since-cxx11-no

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

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll requested changes to this pull request. https://github.com/llvm/llvm-project/pull/77768 ___ 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-11 Thread Vlad Serebrennikov via cfe-commits
@@ -132,6 +142,36 @@ namespace dr2126 { // dr2126: 12 #endif } +namespace dr2137 { // dr2137: 18 +#if __cplusplus >= 201103L + struct Q { +Q(); +Q(Q&&); +Q(std::initializer_list) = delete; // expected-note 2 {{has been explicitly marked deleted here}} + }; + +

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

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/77768 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[flang] [lldb] [lld] [clang] [llvm] [clang-tools-extra] [libclc] [libunwind] [libcxx] [libc] [compiler-rt] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77444 >From 1cbf8eec15112cd6871fcfb69425c62f08c8f681 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 14:17:21 +0300 Subject: [PATCH 1/4] [clang] Add tests for DRs about complete-class context MI

[clang] [compiler-rt] [libc] [libunwind] [clang-tools-extra] [libclc] [lldb] [libcxx] [llvm] [flang] [lld] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/77444 >From 1cbf8eec15112cd6871fcfb69425c62f08c8f681 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 9 Jan 2024 14:17:21 +0300 Subject: [PATCH 1/4] [clang] Add tests for DRs about complete-class context MI

[llvm] [libclc] [lldb] [libcxx] [flang] [libc] [libunwind] [lld] [clang] [clang-tools-extra] [compiler-rt] [clang] Add tests for DRs about complete-class context (PR #77444)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -42,6 +42,28 @@ namespace dr1611 { // dr1611: dup 1658 C c; } +namespace dr1626 { // dr1626: no open +// FIXME: current consensus for CWG2335 is that the examples are well-formed. Endilll wrote: We had an offline discussion, and concluded that this test

[clang] [llvm] [Clang][IR] add TBAA metadata on pointer, union and array types. (PR #75177)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -1,7 +1,7 @@ -// RUN: %clang_cc1 -triple x86_64-linux -std=c++98 %s -O3 -disable-llvm-passes -pedantic-errors -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -triple x86_64-linux -std=c++11 %s -O3 -disable-llvm-passes -pedantic-errors -emit-llvm -o - | FileCheck %s -// RUN

[llvm] [clang] [Clang][IR] add TBAA metadata on pointer, union and array types. (PR #75177)

2024-01-11 Thread Vlad Serebrennikov via cfe-commits
@@ -1,7 +1,7 @@ -// RUN: %clang_cc1 -triple x86_64-linux -std=c++98 %s -O3 -disable-llvm-passes -pedantic-errors -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -triple x86_64-linux -std=c++11 %s -O3 -disable-llvm-passes -pedantic-errors -emit-llvm -o - | FileCheck %s -// RUN

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-23 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: `Sema.h` changes look good to me. https://github.com/llvm/llvm-project/pull/85605 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] add some missing Kinds to libclang python bindings (PR #85571)

2024-03-23 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: This looks good. Sorry for the late reply. https://github.com/llvm/llvm-project/pull/85571 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Catch missing format attributes (PR #70024)

2024-03-23 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: I'm not able to review Sema.h changes because of a merge conflict. https://github.com/llvm/llvm-project/pull/70024 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (PR #84050)

2024-03-23 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: `Sema.h` changes look good to me. https://github.com/llvm/llvm-project/pull/84050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/84184 >From 23f4208fb9978370f59cae16db0747acb3e2c906 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 6 Mar 2024 18:01:35 +0300 Subject: [PATCH 1/6] [clang] Factor out OpenACC part of `Sema` This patch mov

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-24 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: I added convenience functions to access `ASTContext` and other widely used facilities of `Sema` to `SemaOpenACC`. I intentionally didn't go full base class approach, saving this option for the future. https://github.com/llvm/llvm-project/pull/84184 __

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/84184 >From 23f4208fb9978370f59cae16db0747acb3e2c906 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 6 Mar 2024 18:01:35 +0300 Subject: [PATCH 1/7] [clang] Factor out OpenACC part of `Sema` This patch mov

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-25 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,74 @@ +//===- SemaOpenACC.h - Semantic Analysis for OpenACC constructs ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-25 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,74 @@ +//===- SemaOpenACC.h - Semantic Analysis for OpenACC constructs ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/84184 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-03-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/84184 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Add wraps attribute (for granular integer overflow handling) (PR #86618)

2024-03-27 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: `Sema.h` changes look good to me. https://github.com/llvm/llvm-project/pull/86618 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] add some missing Kinds to libclang python bindings (PR #85571)

2024-03-27 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Will these changes find their way into a 18.x release? Not without someone stepping up and getting them through backporting process. https://github.com/llvm/llvm-project/pull/85571 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[clang] [RFC][Clang] Enable custom type checking for printf (PR #86801)

2024-03-27 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: `Sema.h` changes look good to me. https://github.com/llvm/llvm-project/pull/86801 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-04-01 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/84184 >From 23f4208fb9978370f59cae16db0747acb3e2c906 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 6 Mar 2024 18:01:35 +0300 Subject: [PATCH 1/7] [clang] Factor out OpenACC part of `Sema` This patch mov

[clang] [clang] Factor out OpenACC part of `Sema` (PR #84184)

2024-04-01 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/84184 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add test for CWG1606 (PR #87274)

2024-04-01 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. LGTM! Disclosure: me and author extensively reviewed this offline before publishing. https://github.com/llvm/llvm-project/pull/87274 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:/

[clang] [clang] Fix crash when inheriting from a cv-qualified type (PR #70594)

2024-04-02 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: You might want to include a test from https://github.com/llvm/llvm-project/issues/85256#issuecomment-2031815104 https://github.com/llvm/llvm-project/pull/70594 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

<    1   2   3   4   5   6   7   8   9   10   >