[clang] [clang] Split up `SemaDeclAttr.cpp` (PR #93966)

2024-05-31 Thread Vlad Serebrennikov via cfe-commits
@@ -14,9 +14,11 @@ #define LLVM_CLANG_SEMA_SEMASYCL_H #include "clang/AST/Decl.h" +#include "clang/AST/DeclBase.h" Endilll wrote: We definitely can, but can I leave it for a follow-up? It wasn't introduced in this pathc, and I have a significant amount of cl

[clang] [clang] Split up `SemaDeclAttr.cpp` (PR #93966)

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

[clang] [clang] Split up `SemaDeclAttr.cpp` (PR #93966)

2024-05-31 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Would it make sense to add a new header (SemaUtils.h? SemaTargetUtils.h?) to > move most of the exposed templated helpers to instead of Sema.h? That's what `Sema/Attr.h` does, and those helpers for attribute handling went there. https://github.com/llvm/llvm-project/pull/93966

[clang] [lldb] [llvm] Remove some `try_compile` CMake checks for compiler flags (PR #92953)

2024-06-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @vvereschaka Thank you for letting me know! I wonder how this got past our pre- and post-commit CI, because we do build lldb with MSVC there. You fix makes total sense, so I applied it. https://github.com/llvm/llvm-project/pull/92953 _

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

2024-06-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Per [[basic.lookup.qual.general] > p1](http://eel.is/c++draft/basic.lookup.qual.general#1), lookup for a > member-qualified name is type-only if it's an identifier followed by ::; Per my reading, type-only lookup is performed only for elaborated type specifiers (http://eel.is

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

2024-06-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > This means that we must perform the second (unqualified) lookup during > parsing even when the type of the object expression is dependent, but those > results are not used to determine whether a < token is the start of a > template-argument_list; they are stored so we can repl

[clang] c26a993 - [clang][NFC] Update CWG issues list

2024-06-02 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-06-02T19:23:42+03:00 New Revision: c26a99384bce5719107d26f4617d6e3b1e9253ff URL: https://github.com/llvm/llvm-project/commit/c26a99384bce5719107d26f4617d6e3b1e9253ff DIFF: https://github.com/llvm/llvm-project/commit/c26a99384bce5719107d26f4617d6e3b1e9253ff.

[clang] [clang] Add tests for some CWG issues from 2024-05-31 telecon (PR #94167)

2024-06-02 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94167 This patch adds tests for some CWG issues that were discussed at 2024-05-31 telecon. While all of them are tentatively ready at the moment, I'm expecting them to be moved to DRs without changes. CWG issues that

[clang] [clang] Add tests for some CWG issues from 2024-05-31 telecon (PR #94167)

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

[clang] [clang] Add tests for some CWG issues from 2024-05-31 telecon (PR #94167)

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

[clang] [clang] Make sure all C++ DR tests are running with `-pedantic-errors` (PR #94203)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94203 In #94167 I found out that `cwg28xx.cpp` has been running without `-pedantic-errors` and fixed that. This patch fixes that for the rest of the test suite. Only one tests as affected with a trivial fix (warning w

[clang] [clang] Move CWG2390 test into `cwg23xx.cpp` (PR #94206)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94206 This patch refactors an existing test for [CWG2390](https://cplusplus.github.io/CWG/issues/2390.html) "Is the argument of `__has_cpp_attribute` macro-expanded?" to use `#error` instead of emitting a variable in

[clang] [clang] Make sure all C++ DR tests are running with `-pedantic-errors` (PR #94203)

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

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94208 None >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/2] Enable LLDB tests in pre-submit CI --- .ci/genera

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Should we just run the tests for the LLDB C++ language plugin (i.e., the part > of LLDB that invokes Clang and the JIT). And then we could expand the set of > tests from there later? In the bash script that currently handles this, "targets that we need to check if lldb is tes

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: First Windows CI results: LLDB unit tests do not even build. ``` FAILED: tools/lldb/unittests/Process/gdb-remote/CMakeFiles/ProcessGdbRemoteTests.dir/GDBRemoteCommunicationClientTest.cpp.obj sccache C:\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /nologo /TP -DB

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @Michael137 This is for Linux. Windows works the same way just below those lines: https://github.com/llvm/llvm-project/blob/9a7bd8a60f03595be5d42315790df6d409f81091/.ci/generate-buildkite-pipeline-premerge#L253-L255 https://github.com/llvm/llvm-project/pull/94208 ___

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > > @Michael137 This is for Linux. Windows works the same way just below those > > lines: > > https://github.com/llvm/llvm-project/blob/9a7bd8a60f03595be5d42315790df6d409f81091/.ci/generate-buildkite-pipeline-premerge#L253-L255 > > Ah, so what would the issue be with just adding

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Linux results are ready. `SymbolFile/DWARF/x86/module-ownership.mm` is crashing. While unresolved tests are not considered failed, if you grep for `FAILED`, they add a lot of noise that would make harder for people to realize what the actual reason for CI failure. All in all, I c

[clang] [clang] Make sure all C++ DR tests are running with `-pedantic-errors` (PR #94203)

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

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > You can either install it with pip I'll do that, but I think LLDB should follow the example of MLIR here, so that pipeline scripts don't have hard-coded dependencies for individual projects: https://github.com/llvm/llvm-project/blob/cee6e81dd2a393ebadac8b620679290851ae446b/.ci/

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/3] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @DavidSpickett I made the changes you suggested. Let's see how this Linux run fares. Any thoughts on https://github.com/llvm/llvm-project/pull/94208#issuecomment-2144949637 ? https://github.com/llvm/llvm-project/pull/94208 ___ cfe-comm

[clang] [clang] Move CWG2390 test into `cwg23xx.cpp` (PR #94206)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: It'd be nice to have an approval from @tbaederr as the author of the original test. https://github.com/llvm/llvm-project/pull/94206 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Linux is passing now in 30 minutes. It's not clear how much overhead LLDB actually added, because other Linux builds on Clang changes are anywhere between 22 and 28 minutes. I'm waiting for https://github.com/llvm/llvm-project/pull/94220 and news regarding failed MSVC build. ht

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/4] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: CC @omjavaid https://github.com/llvm/llvm-project/pull/94208#issuecomment-2144949637 https://github.com/llvm/llvm-project/pull/94208 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo

[clang] [lldb] [llvm] Remove some `try_compile` CMake checks for compiler flags (PR #92953)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Yes, some try_compile checks where replaced with a check for `CMAKE_CXX_COMPILER_ID`, so it's crucial for it to reflect the reality. https://github.com/llvm/llvm-project/pull/92953 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang] Add tests for Core issues about friend templates (PR #94288)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94288 This patch covers the following Core issues: [CWG1862](https://cplusplus.github.io/CWG/issues/1862.html) "Determining “corresponding members” for friendship" [CWG1918](https://cplusplus.github.io/CWG/issues/1918.

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > > First Windows CI results: LLDB unit tests do not even build. > > Please note the following for Windows setup: > > * We used cmake 3.25.3 because we got some issues with the latest cmake. > > * python prerequisites are: `python -m pip install swig pexpect psutil`. >

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/5] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/6] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

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

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

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

[clang] [clang] Add tests for Core issues about friend templates (PR #94288)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94288 >From a813e0afb4e0e3c6178b4dab86c9f48ff9c77261 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 4 Jun 2024 01:17:48 +0300 Subject: [PATCH 1/2] [clang] Add tests for Core issues about friend templates

[clang] [clang] Add tests for Core issues about friend templates (PR #94288)

2024-06-03 Thread Vlad Serebrennikov via cfe-commits
@@ -373,6 +373,98 @@ namespace cwg1837 { // cwg1837: 3.3 #endif } +namespace cwg1862 { // cwg1862: no +template +struct A { + struct B { +void e(); + }; + + void f(); + + struct D { +void g(); + }; + + T h(); + + template + T i(); +}; + +template<> +struc

[clang] [clang] Move CWG2390 test into `cwg23xx.cpp` (PR #94206)

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

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

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

[clang] [clang] Add tests for Core issues about friend templates (PR #94288)

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

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/6] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests on Windows (PR #94361)

2024-06-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/94361 This is a spin-off of #94208. CC @DavidSpickett >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/7] Enable

[clang] [llvm] Enable LLDB tests in pre-merge CI (PR #94208)

2024-06-04 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/94208 >From 5c757153a3f462d40663add6a9ae7caf42272913 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Mon, 3 Jun 2024 13:33:36 +0300 Subject: [PATCH 1/7] Enable LLDB tests in pre-submit CI --- .ci/generate-bui

[clang] [llvm] Enable LLDB tests in Linux pre-merge CI (PR #94208)

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

[clang] [llvm] Enable LLDB tests in Linux pre-merge CI (PR #94208)

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

[clang] [clang] Split up `SemaDeclAttr.cpp` (PR #93966)

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

[clang] [clang] Introduce `SemaOpenMP` (PR #88642)

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

[clang] [clang] Migrate DR tests to `static_assert` (PR #88611)

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

[clang] 64c6495 - [clang][NFC] Move `Sema::SkipBodyInfo` into namespace scope

2024-04-16 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-04-17T09:21:29+03:00 New Revision: 64c649585ca23a0c996d8814d2796cd348441d69 URL: https://github.com/llvm/llvm-project/commit/64c649585ca23a0c996d8814d2796cd348441d69 DIFF: https://github.com/llvm/llvm-project/commit/64c649585ca23a0c996d8814d2796cd348441d69.

[clang] e11b17a - [clang][NFC] Refactor `Sema::CheckedConversionKind`

2024-04-16 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-04-17T09:51:50+03:00 New Revision: e11b17a4ed90e74147594012207fc35a60515944 URL: https://github.com/llvm/llvm-project/commit/e11b17a4ed90e74147594012207fc35a60515944 DIFF: https://github.com/llvm/llvm-project/commit/e11b17a4ed90e74147594012207fc35a60515944.

[clang] 458328a - [clang][NFC] Refactor `Sema::RedeclarationKind`

2024-04-17 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-04-17T18:02:48+03:00 New Revision: 458328ae23d318a5055d5bac66426b8551bce01f URL: https://github.com/llvm/llvm-project/commit/458328ae23d318a5055d5bac66426b8551bce01f DIFF: https://github.com/llvm/llvm-project/commit/458328ae23d318a5055d5bac66426b8551bce01f.

[clang] [clang] Introduce `SemaObjC` (PR #89086)

2024-04-17 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Removing `ObjC` from the names of functions inside `SemaObjC` in an obvious next step we can take, but I'm leaving this for a subsequent PR, because this one is large enough already. https://github.com/llvm/llvm-project/pull/89086 ___

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: I'm having second thoughts about leveraging recovery expressions as a side-band mechanism to de-duplicate diagnostics, because not modeling things properly in AST might backfire in the future. But I don't have anything better on my mind, so I don't want to block the progress of

[clang] [clang] Allow relational comparisons between unequal pointers to `void` in constant expressions (PR #89449)

2024-04-19 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Changes to DR tests look good to me, thank you! Can you send an email to Jens Maurer asking him to mark 2526 as superseded by 2749? I'm also somewhat suspicious of the fact that we check only LHS for being `void*`, but that's what we did previously as well,

[clang] [Clang] Allow the value of unroll count to be zero in `#pragma GCC unroll` and `#pragma unroll` (PR #88666)

2024-04-21 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @ronlieb nice and small reproducer would definitely help resolving this. https://github.com/llvm/llvm-project/pull/88666 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Mark ill-formed partial specialization as invalid (PR #89536)

2024-04-21 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/89536 Fixes #89374 Solution suggested by @cor3ntin >From 58058a88305c7d4c1b1a30d8572ca481889ea3f9 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sun, 21 Apr 2024 13:29:39 +0300 Subject: [PATCH] [clang] Mark i

[clang] [clang] Mark ill-formed partial specialization as invalid (PR #89536)

2024-04-22 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/89536 >From 58058a88305c7d4c1b1a30d8572ca481889ea3f9 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sun, 21 Apr 2024 13:29:39 +0300 Subject: [PATCH 1/2] [clang] Mark ill-formed partial specialization as invali

[clang] [clang] Add deprecation warning for `-Ofast` driver option (PR #98736)

2024-07-23 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > This seems to break tests on my Windows box: > http://45.33.8.238/win/91548/step_6.txt This is the failed test: ``` c:\src\llvm-project\out\gn\bin\clang.exe -Ofast -O2 -### -Werror C:\src\llvm-project\clang\test\Driver\Ofast.c 2>&1 | c:\src\llvm-project\out\gn\bin\filecheck.e

[clang] [clang] [C++20] Defaulted operator== doesn't lookup in using-directive properly #97087 (PR #99542)

2024-07-23 Thread Vlad Serebrennikov via cfe-commits
@@ -4856,7 +4856,7 @@ bool TemplateDeclInstantiator::SubstDefaultedFunction(FunctionDecl *New, : DFI); } - SemaRef.SetDeclDefaulted(New, Tmpl->getLocation()); + SemaRef.SetDeclDefaulted(nullptr, New, Tmpl->getLocation()); Endilll wrote:

[clang] [PAC] Define __builtin_ptrauth_type_discriminator (PR #100204)

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

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -139,7 +139,7 @@ struct D3 : B { #endif #if __cplusplus >= 202302L -namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18 +namespace cwg2561 { // cwg2561: no ready 2024-06-25 Endilll wrote: We need a date to understand what are we testing against

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -139,7 +139,7 @@ struct D3 : B { #endif #if __cplusplus >= 202302L -namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18 +namespace cwg2561 { // cwg2561: no ready 2024-06-25 Endilll wrote: Hmm, https://cplusplus.github.io/CWG/issues/2561.html at

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -139,7 +139,7 @@ struct D3 : B { #endif #if __cplusplus >= 202302L -namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18 +namespace cwg2561 { // cwg2561: no ready 2024-06-25 Endilll wrote: I sent Jens an email. Hopefully this will be fixed, or a

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -139,7 +139,7 @@ struct D3 : B { #endif #if __cplusplus >= 202302L -namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18 +namespace cwg2561 { // cwg2561: no ready 2024-06-25 Endilll wrote: > I may have been reading some stale info if that is the

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. Looks good to me. I hope that `make_cxx_dr_status` script is also happy. Thank you for seeing this through! https://github.com/llvm/llvm-project/pull/97200 ___ cfe-commits mailing list cfe-commits@

[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -139,7 +139,7 @@ struct D3 : B { #endif #if __cplusplus >= 202302L -namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18 +namespace cwg2561 { // cwg2561: no ready 2024-06-25 Endilll wrote: Jens confirmed that GH pages are not supposed to deviate

[clang] [Clang] Check explicit object parameter for defaulted operators properly (PR #100419)

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

[clang] [Clang] Check explicit object parameter for defaulted operators properly (PR #100419)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Changes to DR tests look good otherwise. https://github.com/llvm/llvm-project/pull/100419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Check explicit object parameter for defaulted operators properly (PR #100419)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -92,6 +92,26 @@ using ::cwg2521::operator""_div; #endif } // namespace cwg2521 +namespace cwg2547 { // cwg2547: 20 +#if __cplusplus >= 202302L +struct S; // since-cxx23-note 3 {{forward declaration of 'cwg2547::S'}} +bool operator==(S, S) = default; // error: S is not comp

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

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

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -628,10 +628,12 @@ namespace cwg141 { // cwg141: 3.1 // expected-error@-1 {{use 'template' keyword to treat 'f' as a dependent template name}} } void h() { - (void)t.S::n; // ok + (void)t.S::n; Endilll wrote: Previously this was con

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Except for the comment I left, `Sema.h` and DR test changes look good. https://github.com/llvm/llvm-project/pull/100425 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -6027,6 +6027,33 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, const TypeSourceI return cast(rhsRecord->getDecl()) ->isDerivedFrom(cast(lhsRecord->getDecl())); } + case BTT_IsVirtualBaseOf: { +const RecordType *BaseRecord = LhsT->getAs()

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/100393 >From 772b5d85dff73de9f6a01a266bd201cbe04923ab Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 24 Jul 2024 17:38:50 +0300 Subject: [PATCH 1/2] [clang] Impement `__is_virtual_base_of()` intrinsic --

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -2457,6 +2457,75 @@ void is_base_of() { static_assert(!__is_base_of(DerivedB, BaseA)); } +struct DerivedTransitiveViaNonVirtual : Derived3 {}; +struct DerivedTransitiveViaVirtual : virtual Derived3 {}; + +template +struct CrazyDerivedVirtual : virtual T {}; + +struct Der

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -822,6 +822,7 @@ bool Parser::isRevertibleTypeTrait(const IdentifierInfo *II, REVERTIBLE_TYPE_TRAIT(__is_unbounded_array); REVERTIBLE_TYPE_TRAIT(__is_union); REVERTIBLE_TYPE_TRAIT(__is_unsigned); +REVERTIBLE_TYPE_TRAIT(__is_virtual_base_of);

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Can you update LanguageExtensions.rst? Done. https://github.com/llvm/llvm-project/pull/100393 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -6027,6 +6027,33 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, const TypeSourceI return cast(rhsRecord->getDecl()) ->isDerivedFrom(cast(lhsRecord->getDecl())); } + case BTT_IsVirtualBaseOf: { +const RecordType *BaseRecord = LhsT->getAs()

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -628,10 +628,12 @@ namespace cwg141 { // cwg141: 3.1 // expected-error@-1 {{use 'template' keyword to treat 'f' as a dependent template name}} } void h() { - (void)t.S::n; // ok + (void)t.S::n; Endilll wrote: Makes sense, thank you.

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -6027,6 +6027,33 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, const TypeSourceI return cast(rhsRecord->getDecl()) ->isDerivedFrom(cast(lhsRecord->getDecl())); } + case BTT_IsVirtualBaseOf: { +const RecordType *BaseRecord = LhsT->getAs()

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-24 Thread Vlad Serebrennikov via cfe-commits
@@ -6027,6 +6027,33 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, const TypeSourceI return cast(rhsRecord->getDecl()) ->isDerivedFrom(cast(lhsRecord->getDecl())); } + case BTT_IsVirtualBaseOf: { +const RecordType *BaseRecord = LhsT->getAs()

[clang] [clang] Remove `__is_layout_compatible` from revertible type traits list (PR #100572)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/100572 `__is_layout_compatible` was added in Clang 19 (#81506), and at that time it wasn't entirely clear whether it should be a revertible type trait or not. We decided to follow the example of other type traits. Sin

[clang] [clang] Remove `__is_layout_compatible` from revertible type traits list (PR #100572)

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

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/100393 >From 772b5d85dff73de9f6a01a266bd201cbe04923ab Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 24 Jul 2024 17:38:50 +0300 Subject: [PATCH 1/5] [clang] Impement `__is_virtual_base_of()` intrinsic --

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/100393 >From 772b5d85dff73de9f6a01a266bd201cbe04923ab Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 24 Jul 2024 17:38:50 +0300 Subject: [PATCH 1/5] [clang] Impement `__is_virtual_base_of()` intrinsic --

[clang] [clang] Remove `__is_layout_compatible` from revertible type traits list (PR #100572)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Should we also rename to __builtin_is_layout_compatible? Yeah, but not in this patch. https://github.com/llvm/llvm-project/pull/100572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/list

[clang] [clang] Remove `__is_layout_compatible` from revertible type traits list (PR #100572)

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

[clang] [clang] Remove `__is_layout_compatible` from revertible type traits list (PR #100572)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: /cherry-pick 3295d377f37a60597321f502d164b5d6b1948e28 https://github.com/llvm/llvm-project/pull/100572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/100393 >From 772b5d85dff73de9f6a01a266bd201cbe04923ab Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 24 Jul 2024 17:38:50 +0300 Subject: [PATCH 1/5] [clang] Impement `__is_virtual_base_of()` intrinsic --

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @PeterChou1 I see you had landed `clang-doc` patches recently. Can you help? CI is repeatedly failing on the following `clang-doc` test: ``` _bk;t=1721926993260 TEST 'Clang Tools :: clang-doc/basic-project.test' FAILED _bk;t=172192699326

[clang] [clang] Implement `__is_virtual_base_of()` intrinsic (PR #100393)

2024-07-25 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/100393 >From 772b5d85dff73de9f6a01a266bd201cbe04923ab Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 24 Jul 2024 17:38:50 +0300 Subject: [PATCH 1/5] [clang] Impement `__is_virtual_base_of()` intrinsic --

[clang-tools-extra] 88549cf - [clang-doc] Disable flaky test `basic-project.test`

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-07-26T13:15:35+03:00 New Revision: 88549cf47cafc4c4a6042393ee07fc2dc20566cc URL: https://github.com/llvm/llvm-project/commit/88549cf47cafc4c4a6042393ee07fc2dc20566cc DIFF: https://github.com/llvm/llvm-project/commit/88549cf47cafc4c4a6042393ee07fc2dc20566cc.

[clang] [Clang] Qualified functions can't decay into pointers (PR #90353)

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

[clang] [Clang] Qualified functions can't decay into pointers (PR #90353)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Current CWG713 behavior was introduced sometime after Clang 18, and is not affected by this patch. Current CWG1584 behavior was introduced in Clang 7, and is also not affected by this patch. (https://godbolt.org/z/xYec9rP5x) This PR is large enough already.

[clang] [Clang] Qualified functions can't decay into pointers (PR #90353)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
@@ -71,6 +76,17 @@ namespace cwg712 { // cwg712: partial #endif } +namespace cwg713 { // cwg713: yes Endilll wrote: Please, run your test through various Clang versions before claiming availability. In this case, this is rejected by 18, but accepted on trunk

[clang] [Clang] Qualified functions can't decay into pointers (PR #90353)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
@@ -71,6 +76,17 @@ namespace cwg712 { // cwg712: partial #endif } +namespace cwg713 { // cwg713: yes +static_assert(!__is_const(void()const), ""); +static_assert(!__is_const(void()const&), ""); +// cxx98-error@-1 {{reference qualifiers on functions are a C++11 extension}}

[clang] [clang][Tests][NFC] Add CWG713 test; add example from CWG1584 test (PR #100747)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Also, I would think since the resolution is purely editorial (it just changes > notes, nothing normative), it would be considered implemented in any clang > version? The question "availability" answers is "What is the first Clang version that exhibits the correct behavior?",

[clang] [clang][Tests][NFC] Add CWG713 test; add example from CWG1584 test (PR #100747)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll requested changes to this pull request. https://github.com/llvm/llvm-project/pull/100747 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Tests][NFC] Add CWG713 test; add example from CWG1584 test (PR #100747)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
@@ -71,6 +76,17 @@ namespace cwg712 { // cwg712: partial #endif } +namespace cwg713 { // cwg713: yes Endilll wrote: Please check how just released Clang 19.1-rc1 handles this test, and choose between 19 and 20 accordingly. https://github.com/llvm/llvm-proje

[clang] [clang] Add test for CWG2091 "Deducing reference non-type template arguments" (PR #100765)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: Ideally we should wait for #97200 to land first, then update this PR with the output of `make_cxx_dr_status`. https://github.com/llvm/llvm-project/pull/100765 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

[clang] [clang][Tests][NFC] Add CWG713 test; add example from CWG1584 test (PR #100747)

2024-07-26 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > New test compiles down to clang 3.0 (except warnings for > https://cplusplus.github.io/CWG/issues/547.html) but do not compile before > that because of the lack of `__is_const`/`__is_volatile` type traits. > > Function types with cv- qualifiers were added for Clang 2.5 in > [

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