https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/71049
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/70349
>From 7329f68092d5f8f5a5978e5a6cbad6ada87d4fe8 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Thu, 26 Oct 2023 16:09:25 +0300
Subject: [PATCH 1/6] [clang][NFC] Annotate `Type` bit-fields with
`clang::pr
@@ -49,7 +49,7 @@ struct ExprDependenceScope {
using ExprDependence = ExprDependenceScope::ExprDependence;
struct TypeDependenceScope {
- enum TypeDependence : uint8_t {
+ enum TypeDependence : unsigned {
Endilll wrote:
I reverted changes to underlying type
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/71049
>From 05089e60021c321b4113db7e4bdf59bdaaa19de7 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Thu, 2 Nov 2023 14:40:12 +0300
Subject: [PATCH 1/2] [clang][NFC] Refactor `clang::Linkage`
This patch introd
@@ -2214,7 +2214,7 @@ void ASTWriter::WriteDeclAbbrevs() {
Abv->Add(BitCodeAbbrevOp(0)); // TSCSpec
Abv->Add(BitCodeAbbrevOp(0)); // InitStyle
Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // isARCPseudoStrong
- Abv->Ad
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/71049
>From 05089e60021c321b4113db7e4bdf59bdaaa19de7 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Thu, 2 Nov 2023 14:40:12 +0300
Subject: [PATCH 1/4] [clang][NFC] Refactor `clang::Linkage`
This patch introd
@@ -2214,7 +2214,7 @@ void ASTWriter::WriteDeclAbbrevs() {
Abv->Add(BitCodeAbbrevOp(0)); // TSCSpec
Abv->Add(BitCodeAbbrevOp(0)); // InitStyle
Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // isARCPseudoStrong
- Abv->Ad
@@ -1996,7 +1996,7 @@ class alignas(TypeAlignment) Type : public
ExtQualsTypeCommonBase {
TypeBits.Dependence = static_cast(Dependence);
TypeBits.CacheValid = false;
TypeBits.CachedLocalOrUnnamed = false;
-TypeBits.CachedLinkage = NoLinkage;
+TypeBits.Cache
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/70349
>From 7329f68092d5f8f5a5978e5a6cbad6ada87d4fe8 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Thu, 26 Oct 2023 16:09:25 +0300
Subject: [PATCH 1/7] [clang][NFC] Annotate `Type` bit-fields with
`clang::pr
@@ -138,7 +138,7 @@ namespace dr1295 { // dr1295: 4
#if __cplusplus <= 201402L
// expected-error@-2 {{does not refer to any declaration}} expected-note@-3
{{here}}
#else
- // expected-error@-4 {{refers to subobject}}
+ // expected-error@-4 {{bind to bit-field in converted
https://github.com/Endilll approved this pull request.
LGTM from DR testing perspective.
https://github.com/llvm/llvm-project/pull/71077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll closed
https://github.com/llvm/llvm-project/pull/70349
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll closed
https://github.com/llvm/llvm-project/pull/71049
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/71049
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/71077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Endilll wrote:
> What other ways are to make a const void * debugger-friendly - other than
> llvm::PointerUnion?
I'm not aware of any that wouldn't require writing a custom formatter.
Ultimately it boils to how can I extract type information. For
`llvm::PointerUnion` I'm matching discriminato
https://github.com/Endilll closed
https://github.com/llvm/llvm-project/pull/71160
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Vlad Serebrennikov
Date: 2023-11-04T08:43:59+03:00
New Revision: 0fea0d2f3b5e5be011e229cdddc7540095ff9236
URL:
https://github.com/llvm/llvm-project/commit/0fea0d2f3b5e5be011e229cdddc7540095ff9236
DIFF:
https://github.com/llvm/llvm-project/commit/0fea0d2f3b5e5be011e229cdddc7540095ff9236.
Author: Vlad Serebrennikov
Date: 2023-11-04T08:58:57+03:00
New Revision: c4b2d338cc450ff4499fd062cd9261bea55808a1
URL:
https://github.com/llvm/llvm-project/commit/c4b2d338cc450ff4499fd062cd9261bea55808a1
DIFF:
https://github.com/llvm/llvm-project/commit/c4b2d338cc450ff4499fd062cd9261bea55808a1.
Author: Vlad Serebrennikov
Date: 2023-11-04T09:23:50+03:00
New Revision: 5b9d793290c187aee4e63b61d4a12c3766f7cfe6
URL:
https://github.com/llvm/llvm-project/commit/5b9d793290c187aee4e63b61d4a12c3766f7cfe6
DIFF:
https://github.com/llvm/llvm-project/commit/5b9d793290c187aee4e63b61d4a12c3766f7cfe6.
Author: Vlad Serebrennikov
Date: 2023-11-04T12:43:26+03:00
New Revision: 99e7e7a597fa4ebaa8ebacdc42eae9f0b976f54c
URL:
https://github.com/llvm/llvm-project/commit/99e7e7a597fa4ebaa8ebacdc42eae9f0b976f54c
DIFF:
https://github.com/llvm/llvm-project/commit/99e7e7a597fa4ebaa8ebacdc42eae9f0b976f54c.
Author: Vlad Serebrennikov
Date: 2023-11-04T13:28:29+03:00
New Revision: cd6022916bff1d6fab007b554810b631549ba43c
URL:
https://github.com/llvm/llvm-project/commit/cd6022916bff1d6fab007b554810b631549ba43c
DIFF:
https://github.com/llvm/llvm-project/commit/cd6022916bff1d6fab007b554810b631549ba43c.
Author: Vlad Serebrennikov
Date: 2023-11-05T12:30:49+03:00
New Revision: 3e6ce58701a3a8463b53fb3fd2023c02b4e90554
URL:
https://github.com/llvm/llvm-project/commit/3e6ce58701a3a8463b53fb3fd2023c02b4e90554
DIFF:
https://github.com/llvm/llvm-project/commit/3e6ce58701a3a8463b53fb3fd2023c02b4e90554.
Author: Vlad Serebrennikov
Date: 2023-11-05T13:36:08+03:00
New Revision: c23aaa410358b9f9c364ddaaeb6b2069b185a99b
URL:
https://github.com/llvm/llvm-project/commit/c23aaa410358b9f9c364ddaaeb6b2069b185a99b
DIFF:
https://github.com/llvm/llvm-project/commit/c23aaa410358b9f9c364ddaaeb6b2069b185a99b.
Author: Vlad Serebrennikov
Date: 2023-11-05T15:39:05+03:00
New Revision: 6e35db0694b2cb80ffe0c7edfed3090f9ede4805
URL:
https://github.com/llvm/llvm-project/commit/6e35db0694b2cb80ffe0c7edfed3090f9ede4805
DIFF:
https://github.com/llvm/llvm-project/commit/6e35db0694b2cb80ffe0c7edfed3090f9ede4805.
Author: Vlad Serebrennikov
Date: 2023-11-05T16:38:45+03:00
New Revision: a9070f22a29e28f7d6f83c24a8dd88f3a94969ae
URL:
https://github.com/llvm/llvm-project/commit/a9070f22a29e28f7d6f83c24a8dd88f3a94969ae
DIFF:
https://github.com/llvm/llvm-project/commit/a9070f22a29e28f7d6f83c24a8dd88f3a94969ae.
https://github.com/Endilll created
https://github.com/llvm/llvm-project/pull/71322
This patch converts `CXXNewExpr::InitializationStyle` into a scoped enum at
namespace scope. It also affirms the status quo by adding a new enumerator to
represent implicit initializer.
>From 40d25b8009f1c8734a
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/71322
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/71322
>From 40d25b8009f1c8734a99fd1350adaced6884cc7f Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Sun, 5 Nov 2023 18:53:48 +0300
Subject: [PATCH 1/3] [clang][NFC] Refacator `CXXNewExpr::InitializationStyle`
@@ -2388,15 +2389,20 @@ class CXXNewExpr final
/// Whether this new-expression has any initializer at all.
bool hasInitializer() const {
-return CXXNewExprBits.StoredInitializationStyle > 0;
+switch (getInitializationStyle()) {
+case CXXNewInitializationStyle::
Author: Vlad Serebrennikov
Date: 2023-11-06T09:20:04+03:00
New Revision: fb9d1243f535a8b678824d2b63d33eb183a7f2bc
URL:
https://github.com/llvm/llvm-project/commit/fb9d1243f535a8b678824d2b63d33eb183a7f2bc
DIFF:
https://github.com/llvm/llvm-project/commit/fb9d1243f535a8b678824d2b63d33eb183a7f2bc.
Author: Vlad Serebrennikov
Date: 2023-11-06T09:35:57+03:00
New Revision: b89aadf084feb025c2625f7bf7e206d666035ab1
URL:
https://github.com/llvm/llvm-project/commit/b89aadf084feb025c2625f7bf7e206d666035ab1
DIFF:
https://github.com/llvm/llvm-project/commit/b89aadf084feb025c2625f7bf7e206d666035ab1.
Author: Vlad Serebrennikov
Date: 2023-11-06T09:46:41+03:00
New Revision: 17db462810436e6cb5c422208d0d7718a8adb168
URL:
https://github.com/llvm/llvm-project/commit/17db462810436e6cb5c422208d0d7718a8adb168
DIFF:
https://github.com/llvm/llvm-project/commit/17db462810436e6cb5c422208d0d7718a8adb168.
Author: Vlad Serebrennikov
Date: 2023-11-06T09:58:02+03:00
New Revision: 24faf3b0b8e9b68304d9dd87c63afd5a0e813daa
URL:
https://github.com/llvm/llvm-project/commit/24faf3b0b8e9b68304d9dd87c63afd5a0e813daa
DIFF:
https://github.com/llvm/llvm-project/commit/24faf3b0b8e9b68304d9dd87c63afd5a0e813daa.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:00:42+03:00
New Revision: 421d6ccc4c663b90aa03be7b7598fff50478e997
URL:
https://github.com/llvm/llvm-project/commit/421d6ccc4c663b90aa03be7b7598fff50478e997
DIFF:
https://github.com/llvm/llvm-project/commit/421d6ccc4c663b90aa03be7b7598fff50478e997.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:04:21+03:00
New Revision: a5d25708616d692592e705a0913afd78237698af
URL:
https://github.com/llvm/llvm-project/commit/a5d25708616d692592e705a0913afd78237698af
DIFF:
https://github.com/llvm/llvm-project/commit/a5d25708616d692592e705a0913afd78237698af.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:14:49+03:00
New Revision: 61d17b116880b34b6639e2780b9d46865d811be2
URL:
https://github.com/llvm/llvm-project/commit/61d17b116880b34b6639e2780b9d46865d811be2
DIFF:
https://github.com/llvm/llvm-project/commit/61d17b116880b34b6639e2780b9d46865d811be2.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:18:30+03:00
New Revision: 13023ed1d606a6e4a7c2590e1b698593bc317a61
URL:
https://github.com/llvm/llvm-project/commit/13023ed1d606a6e4a7c2590e1b698593bc317a61
DIFF:
https://github.com/llvm/llvm-project/commit/13023ed1d606a6e4a7c2590e1b698593bc317a61.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:28:58+03:00
New Revision: f1fdbcba5fc0f88a481f105c2a16f56db0dd2940
URL:
https://github.com/llvm/llvm-project/commit/f1fdbcba5fc0f88a481f105c2a16f56db0dd2940
DIFF:
https://github.com/llvm/llvm-project/commit/f1fdbcba5fc0f88a481f105c2a16f56db0dd2940.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:35:53+03:00
New Revision: acb714c10126192a2ead8b7fd3d5e16e4653d656
URL:
https://github.com/llvm/llvm-project/commit/acb714c10126192a2ead8b7fd3d5e16e4653d656
DIFF:
https://github.com/llvm/llvm-project/commit/acb714c10126192a2ead8b7fd3d5e16e4653d656.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:43:53+03:00
New Revision: c032225bfcac9322661fac8c943a63ba70eb0e19
URL:
https://github.com/llvm/llvm-project/commit/c032225bfcac9322661fac8c943a63ba70eb0e19
DIFF:
https://github.com/llvm/llvm-project/commit/c032225bfcac9322661fac8c943a63ba70eb0e19.
Author: Vlad Serebrennikov
Date: 2023-11-06T10:58:27+03:00
New Revision: a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09
URL:
https://github.com/llvm/llvm-project/commit/a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09
DIFF:
https://github.com/llvm/llvm-project/commit/a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09.
Author: Vlad Serebrennikov
Date: 2023-11-06T11:03:23+03:00
New Revision: a0029a8a765f2bfe938de2c34ffb0264724ca04a
URL:
https://github.com/llvm/llvm-project/commit/a0029a8a765f2bfe938de2c34ffb0264724ca04a
DIFF:
https://github.com/llvm/llvm-project/commit/a0029a8a765f2bfe938de2c34ffb0264724ca04a.
Author: Vlad Serebrennikov
Date: 2023-11-06T12:01:09+03:00
New Revision: dda8e3de35ead65498094e75adf6f6efd2641323
URL:
https://github.com/llvm/llvm-project/commit/dda8e3de35ead65498094e75adf6f6efd2641323
DIFF:
https://github.com/llvm/llvm-project/commit/dda8e3de35ead65498094e75adf6f6efd2641323.
Author: Vlad Serebrennikov
Date: 2023-11-06T12:17:53+03:00
New Revision: ad278482095242cc20f5988c25381f4586fed589
URL:
https://github.com/llvm/llvm-project/commit/ad278482095242cc20f5988c25381f4586fed589
DIFF:
https://github.com/llvm/llvm-project/commit/ad278482095242cc20f5988c25381f4586fed589.
Author: Vlad Serebrennikov
Date: 2023-11-06T12:34:10+03:00
New Revision: 58679ea576f9e48e20e43dcd99fd75c98fb7e6ba
URL:
https://github.com/llvm/llvm-project/commit/58679ea576f9e48e20e43dcd99fd75c98fb7e6ba
DIFF:
https://github.com/llvm/llvm-project/commit/58679ea576f9e48e20e43dcd99fd75c98fb7e6ba.
Author: Vlad Serebrennikov
Date: 2023-11-06T13:38:12+03:00
New Revision: 1a0e743ab01716ecafeb33858d9975cf90017c59
URL:
https://github.com/llvm/llvm-project/commit/1a0e743ab01716ecafeb33858d9975cf90017c59
DIFF:
https://github.com/llvm/llvm-project/commit/1a0e743ab01716ecafeb33858d9975cf90017c59.
@@ -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
Endilll wrote:
Can you explain why `-disable-llvm-passes` is there, and why is can be removed
now?
https://github.co
Endilll wrote:
Can you add a test for this?
https://github.com/llvm/llvm-project/pull/70496
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,9 @@
+// RUN: %clang --target=wasm32 -mmultivalue -Xclang -target-abi -Xclang
experimental-mv %s -S -Xclang -verify
+
+float crealf() { return 0;} // expected-no-diagnostics
Endilll wrote:
Single `expected-no-diagnostics` is sufficient for the whole f
@@ -0,0 +1,9 @@
+// RUN: %clang --target=wasm32 -mmultivalue -Xclang -target-abi -Xclang
experimental-mv %s -S -Xclang -verify
+
+float crealf() { return 0;} // expected-no-diagnostics
Endilll wrote:
Sorry, I actually meant that you can do like
https://github.c
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/73234
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/73234
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll approved this pull request.
DR testing part looks good, save for a couple of minor comments.
https://github.com/llvm/llvm-project/pull/73234
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
@@ -0,0 +1,30 @@
+// RUN: %clang_cc1 -std=c++2c -verify %s
+
+namespace dr2798 { // dr2798: 17 drafting
+#if __cpp_static_assert >= 202306
+struct string {
+constexpr string() {
Endilll wrote:
Is there a reason not to format this test with clang-format?
http
@@ -0,0 +1,30 @@
+// RUN: %clang_cc1 -std=c++2c -verify %s
+
+namespace dr2798 { // dr2798: 17 drafting
+#if __cpp_static_assert >= 202306
+struct string {
+constexpr string() {
+data_ = new char[6]();
+__builtin_memcpy(data_, "Hello", 5);
+data_[5] = 0
Endilll wrote:
@frederick-vs-ja Just to be clear, are you waiting for anyone to merge this?
https://github.com/llvm/llvm-project/pull/68846
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
Endilll wrote:
There has been multiple discussion in different places about behavior of `-E`,
`-M`, and friends (the most notable starts
[here](https://discord.com/channels/636084430946959380/636732781086638081/1175241241710055424)),
so I thought it would be a good idea to raise awareness amon
Endilll wrote:
@AaronBallman Can you describe your current plan how driver options are going
to behave in the light of `#embed`?
https://github.com/llvm/llvm-project/pull/68620
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm
@@ -0,0 +1,30 @@
+// RUN: %clang_cc1 -std=c++2c -verify %s
+
+namespace dr2798 { // dr2798: 17 drafting
+#if __cpp_static_assert >= 202306
+struct string {
+constexpr string() {
+data_ = new char[6]();
+__builtin_memcpy(data_, "Hello", 5);
+data_[5] = 0
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/73493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,31 @@
+// RUN: %clang_cc1 -std=c++2c -verify %s
+
+
+namespace dr2789 { // dr2789: 18 open
+
+template
+struct Base {
+constexpr void g(); // expected-note {{candidate function}}
+};
+
+template
+struct Base2 {
+constexpr void g() requires true; // expected-n
https://github.com/Endilll requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/73493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,30 @@
+// RUN: %clang_cc1 -std=c++2c -verify %s
+
+namespace dr2798 { // dr2798: 17 drafting
+#if __cpp_static_assert >= 202306
+struct string {
+constexpr string() {
+data_ = new char[6]();
+__builtin_memcpy(data_, "Hello", 5);
+data_[5] = 0
Endilll wrote:
I'd also like to highlight the use case of diagnostic for compiler crashes.
IIRC preprocessed source to attach to an issue is produced with
`-frewrite-includes`, so we might want to change its behavior for `#embed`.
This might be a good use case for `#embed_base64`.
https://git
Endilll wrote:
Your reasoning works until we have a crash that relies on `#embed` and/or its
contents.
>From what I saw triaging old crashes, crash submitters are conscious if they
>work with proprietary code they can't share even a fragment of, and not so
>rarely reduce crash by themselves.
https://github.com/Endilll approved this pull request.
https://github.com/llvm/llvm-project/pull/73493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Endilll wrote:
> The human-readability of a big list of integers is not better than embedded
> base64 -- and actually, seems more of a pain to decode.
I agree that the entirety of the data is not too comprehensible, but I can
imagine users being interested in the first and last N bytes when th
https://github.com/Endilll approved this pull request.
https://github.com/llvm/llvm-project/pull/73694
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Endilll wrote:
> Would it make sense to document this more publicly? While it's designed to be
> an internal tool, it's really useful for people who want to make sure their
> library produces high quality diagnostics (e.g. nodiscard, static_asserts
> etc.). I'm sure you are aware that libc++ u
Author: Vlad Serebrennikov
Date: 2023-11-30T02:25:15+03:00
New Revision: bf2e05c7fbc739cd9b9086163303f846ee2806d2
URL:
https://github.com/llvm/llvm-project/commit/bf2e05c7fbc739cd9b9086163303f846ee2806d2
DIFF:
https://github.com/llvm/llvm-project/commit/bf2e05c7fbc739cd9b9086163303f846ee2806d2.
https://github.com/Endilll created
https://github.com/llvm/llvm-project/pull/73879
This patch converts (almost) every expected directive in
`test/CXX/drs/dr0xx.cpp` into either `@-1` form (when directive immediately
follow the line diagnostic is pointing out to), or `@#` form (when
directive
Endilll wrote:
I'm putting this NFC for a review, because that's the direction I'd like our DR
test suite to take. If it goes well, I'll go on and refactor the rest of the
test suite in this manner.
https://github.com/llvm/llvm-project/pull/73879
___
@@ -80,14 +86,21 @@ namespace dr5 { // dr5: 3.1
namespace dr7 { // dr7: 3.4
class A { public: ~A(); };
- class B : virtual private A {}; // expected-note 2 {{declared private here}}
- class C : public B {} c; // expected-error 2 {{inherited virtual base class
'A' has priv
@@ -80,14 +86,21 @@ namespace dr5 { // dr5: 3.1
namespace dr7 { // dr7: 3.4
class A { public: ~A(); };
- class B : virtual private A {}; // expected-note 2 {{declared private here}}
- class C : public B {} c; // expected-error 2 {{inherited virtual base class
'A' has priv
Endilll wrote:
> I could nit on the naming conventions here or there, but I think this overall
> is such a vast improvement that I'd rather get 'this', then argue on names in
> future files, and let this one lie.
@erichkeane Now is the best time to bring those nits on, unless you want
changes
https://github.com/Endilll closed
https://github.com/llvm/llvm-project/pull/73879
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Vlad Serebrennikov
Date: 2023-12-01T13:43:22+03:00
New Revision: 289fe74ddbb4c8aa7128f60db6b20c119922b542
URL:
https://github.com/llvm/llvm-project/commit/289fe74ddbb4c8aa7128f60db6b20c119922b542
DIFF:
https://github.com/llvm/llvm-project/commit/289fe74ddbb4c8aa7128f60db6b20c119922b542.
https://github.com/Endilll created
https://github.com/llvm/llvm-project/pull/74061
This patch continues the work started with
ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding
PR for details.
>From e6b9f54ce066e029b043e72281a7144338a84219 Mon Sep 17 00:00:00 2001
Endilll wrote:
This PR is created to run the patch through CI, so no review requested.
https://github.com/llvm/llvm-project/pull/74061
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/74061
>From e6b9f54ce066e029b043e72281a7144338a84219 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Fri, 1 Dec 2023 13:35:23 +0300
Subject: [PATCH 1/3] [clang][NFC] Fill in historical data on when C++ DRs
100
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/74061
>From e6b9f54ce066e029b043e72281a7144338a84219 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Fri, 1 Dec 2023 13:35:23 +0300
Subject: [PATCH 1/4] [clang][NFC] Fill in historical data on when C++ DRs
100
https://github.com/Endilll closed
https://github.com/llvm/llvm-project/pull/74061
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Vlad Serebrennikov
Date: 2023-12-02T21:25:00+03:00
New Revision: 2f9c922a12e9f15abe5f6b1a50d684414be47d26
URL:
https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26
DIFF:
https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26.
Author: Vlad Serebrennikov
Date: 2023-12-02T21:25:54+03:00
New Revision: 0c06e8745f131d867c566f4d35a7a04e24b4a075
URL:
https://github.com/llvm/llvm-project/commit/0c06e8745f131d867c566f4d35a7a04e24b4a075
DIFF:
https://github.com/llvm/llvm-project/commit/0c06e8745f131d867c566f4d35a7a04e24b4a075.
Author: Vlad Serebrennikov
Date: 2023-12-03T00:21:53+03:00
New Revision: 96070e1e4c13f53c2cef8178d64e206162923f54
URL:
https://github.com/llvm/llvm-project/commit/96070e1e4c13f53c2cef8178d64e206162923f54
DIFF:
https://github.com/llvm/llvm-project/commit/96070e1e4c13f53c2cef8178d64e206162923f54.
Author: Vlad Serebrennikov
Date: 2023-12-03T09:02:58+03:00
New Revision: 19bef888a8c7c58bdf94d377fc485e050efb
URL:
https://github.com/llvm/llvm-project/commit/19bef888a8c7c58bdf94d377fc485e050efb
DIFF:
https://github.com/llvm/llvm-project/commit/19bef888a8c7c58bdf94d377fc485e050efb.
Endilll wrote:
It was my commit that broke bots, so it is only appropriate to tag me on this.
I committed a different fix just now 19bef888a8c7c58bdf94d377fc485e050efb
https://github.com/llvm/llvm-project/pull/74223
___
cfe-commits mailing list
cfe
Endilll wrote:
Thank you for looking into this!
https://github.com/llvm/llvm-project/pull/74223
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Endilll wrote:
https://lab.llvm.org/buildbot/#/builders/123/builds/23364 stage 1 checks run
successfully. You can close this PR as superseded by
19bef888a8c7c58bdf94d377fc485e050efb
https://github.com/llvm/llvm-project/pull/74223
___
cfe-commits
https://github.com/Endilll commented:
Thank you for your efforts!
I scratched the surface a bit; not qualified to do an in-depth review.
Can you also add a release note?
https://github.com/llvm/llvm-project/pull/74155
___
cfe-commits mailing list
cfe-c
https://github.com/Endilll edited
https://github.com/llvm/llvm-project/pull/74155
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -498,3 +498,137 @@
CodeGenTBAA::mergeTBAAInfoForMemoryTransfer(TBAAAccessInfo DestInfo,
// access type regardless of their base types.
return TBAAAccessInfo::getMayAliasInfo();
}
+
+// Determine the aliasing kind bit-converting from type Src to type Dst.
+CodeGenTBAA::A
@@ -2026,6 +2027,137 @@ static TryCastResult TryConstCast(Sema &Self,
ExprResult &SrcExpr,
return TC_Success;
}
+// We're dereferencing E, either by turning into an RValue, or by dereferencing
+// it. Check whether it's a deref of a reinterpret cast that has aliasing
+// is
@@ -37,6 +38,27 @@ class ASTConsumer {
friend class SemaConsumer;
+public:
+ /// Allow type-based aliasing information to be interrogated by the AST
+ /// producer (for diagnostics).
+ class TypeAliasing {
Endilll wrote:
It seems to me that we'd be bett
@@ -498,3 +498,137 @@
CodeGenTBAA::mergeTBAAInfoForMemoryTransfer(TBAAAccessInfo DestInfo,
// access type regardless of their base types.
return TBAAAccessInfo::getMayAliasInfo();
}
+
+// Determine the aliasing kind bit-converting from type Src to type Dst.
+CodeGenTBAA::A
@@ -128,6 +128,10 @@ class DiagnosticOptions : public
RefCountedBase{
/// whether -Wsystem-headers is enabled on a per-module basis.
std::vector SystemHeaderWarningsModules;
+ /// Level of scrutiny reinterpret_casts get for type-unsafe aliasing
+ /// checks. Requires an
Author: Vlad Serebrennikov
Date: 2023-12-03T16:48:53+03:00
New Revision: 599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
URL:
https://github.com/llvm/llvm-project/commit/599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
DIFF:
https://github.com/llvm/llvm-project/commit/599cba3e7c82f046f247aa1cae4948dbbdcb7cb3.
https://github.com/Endilll created
https://github.com/llvm/llvm-project/pull/74243
This patch continues the work started with
ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding
PR for details.
>From 49a5323663b8bc56d9720c6d2ebb9c3d686fd362 Mon Sep 17 00:00:00 2001
Endilll wrote:
This PR is created only for CI purposes.
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
101 - 200 of 2136 matches
Mail list logo