MitalAshok wrote:
Could you knock out a related bug at the same time:
```c++
template
struct X {
char arr[1];
};
extern X* p, *q;
//X inst;
void f() {
__atomic_exchange(p, p, q, __ATOMIC_RELAXED);
}
```
With the line commented out, currently this crashes, but in Clang 18 and with
your
MitalAshok wrote:
https://github.com/llvm/llvm-project/blob/b0ae923ada836fa2c9114ac2c5afb39466f49fe0/clang/docs/ReleaseNotes.rst#L210-L212
Should be enough for ReleaseNotes, since not much has changed since Clang 18
https://github.com/llvm/llvm-project/pull/92103
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/92103
>From 5908130604728b9aa9b70eeb2523d368df08e68d Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 14 May 2024 08:28:19 +0100
Subject: [PATCH 1/4] [Clang] Fix definition of layout-compatible to ignore
MitalAshok wrote:
@shafik Yeah, just waiting on the tests after the merge
https://github.com/llvm/llvm-project/pull/90387
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90387
>From 77cb28e6faf95f5beb3fadc225cb5f0525b3dfe6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 28 Apr 2024 09:48:47 +0100
Subject: [PATCH 1/2] [clang] Implement CWG2851: floating-point conversions in
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90387
>From 77cb28e6faf95f5beb3fadc225cb5f0525b3dfe6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 28 Apr 2024 09:48:47 +0100
Subject: [PATCH] [clang] Implement CWG2851: floating-point conversions in
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/96348
>From 702bae96f10c903d60b98430e13f57c5bb227849 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Fri, 21 Jun 2024 19:36:01 +0100
Subject: [PATCH 1/2] [NFC] Fix dead links in TargetCXXABI.def
---
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/96348
http://itanium-cxx-abi.github.io/cxx-abi/
> This website may be mirrored in many places, some of which may become stale.
> The current canonical location is:
> * http://itanium-cxx-abi.github.io/cxx-abi/
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95580
>From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Fri, 14 Jun 2024 19:14:21 +0100
Subject: [PATCH 1/5] [Clang] [SemaCXX] Diagnose unknown std::initializer_list
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/95580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok converted_to_draft
https://github.com/llvm/llvm-project/pull/96113
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/96113
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/96113
None
>From 4a10adf7d9f51d023ae78d02693fc767ac278ea6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Wed, 19 Jun 2024 21:03:34 +0100
Subject: [PATCH] [Clang] Do not allow `[[clang::lifetime_bound]]` on
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95846
>From 89da8b3bcc678430fe4225c723e87914f2c378cd Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 17 Jun 2024 21:48:57 +0100
Subject: [PATCH 1/5] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95580
>From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Fri, 14 Jun 2024 19:14:21 +0100
Subject: [PATCH 1/4] [Clang] [SemaCXX] Diagnose unknown std::initializer_list
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95580
>From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Fri, 14 Jun 2024 19:14:21 +0100
Subject: [PATCH 1/4] [Clang] [SemaCXX] Diagnose unknown std::initializer_list
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/95969
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1385,6 +1385,12 @@
Parser::isCXXDeclarationSpecifier(ImplicitTypenameContext AllowImplicitTypename,
if (!getLangOpts().ObjC && Next.is(tok::identifier))
return TPResult::True;
+if (Next.is(tok::l_paren) &&
MitalAshok wrote:
We might need a
@@ -1385,6 +1385,12 @@
Parser::isCXXDeclarationSpecifier(ImplicitTypenameContext AllowImplicitTypename,
if (!getLangOpts().ObjC && Next.is(tok::identifier))
return TPResult::True;
+if (Next.is(tok::l_paren) &&
+
@@ -141,3 +141,15 @@ namespace r360308_regression {
return a == b;
}
}
+
+namespace GH95598 {
+template
+struct __is_pointer {};
+// expected-warning@-1 {{keyword '__is_pointer' will be made available as an
identifier for the remainder of the translation unit}}
MitalAshok wrote:
@Sirraide Yes, the tests did pass because there were no tests for this.
For reference:
* `llvm:main` currently only handles these two wrong
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95846
>From 89da8b3bcc678430fe4225c723e87914f2c378cd Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 17 Jun 2024 21:48:57 +0100
Subject: [PATCH 1/4] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95846
>From 89da8b3bcc678430fe4225c723e87914f2c378cd Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 17 Jun 2024 21:48:57 +0100
Subject: [PATCH 1/3] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95846
>From 89da8b3bcc678430fe4225c723e87914f2c378cd Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 17 Jun 2024 21:48:57 +0100
Subject: [PATCH 1/2] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E
MitalAshok wrote:
CC @Endilll @Sirraide
https://github.com/llvm/llvm-project/pull/95846
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95846
3ad31e12ccfc7db25f3cbedc4ee966e7099ac78f changed it so that not all
potentially-evaluated `typeid`s were marked as potentially-throwing, but I
forgot to check the subexpression if the null check of the
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From 6ed7cad5d4993603221c3d9a777463675d69643b Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH 1/2] [SemaCXX] Implement CWG2351 `void{}`
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From 6ed7cad5d4993603221c3d9a777463675d69643b Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH 1/2] [SemaCXX] Implement CWG2351 `void{}`
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95112
>From e53dfbc9b2c6b7f30c1378731d7de284fa99d568 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 11 Jun 2024 14:26:38 +0100
Subject: [PATCH 1/5] [Clang] Implement CWG2813
---
clang/docs/ReleaseNotes.rst
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95112
>From e53dfbc9b2c6b7f30c1378731d7de284fa99d568 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 11 Jun 2024 14:26:38 +0100
Subject: [PATCH 1/6] [Clang] Implement CWG2813
---
clang/docs/ReleaseNotes.rst
MitalAshok wrote:
CC @AaronBallman @Sirraide
More tests will be added in
https://github.com/llvm/llvm-project/pull/95112/files#diff-50c6ce984d17856a8b61d98f625dacec78bfbbe01d2e9fbab80b27c771e3db99R144
but these changes are unrelated enough to warrant a separate patch
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95762
None
>From fd52c588543a44a71652d7dbabc563777ebe4437 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 17 Jun 2024 11:15:16 +0100
Subject: [PATCH] [NFC] Refactor `[[nodiscard]]` test to not use macros and
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95718
>From c3912611dd63f81ea7067a4b26ef5450f6f01f75 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 16 Jun 2024 22:35:38 +0100
Subject: [PATCH 1/3] [Clang] Introduce CXXTypeidExpr::hasNullCheck
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95718
>From c3912611dd63f81ea7067a4b26ef5450f6f01f75 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 16 Jun 2024 22:35:38 +0100
Subject: [PATCH 1/2] [Clang] Introduce CXXTypeidExpr::hasNullCheck
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95718
>From c3912611dd63f81ea7067a4b26ef5450f6f01f75 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 16 Jun 2024 22:35:38 +0100
Subject: [PATCH] [Clang] Introduce CXXTypeidExpr::hasNullCheck
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95718
>From fc28e8f9b987ca35db457afaf19fa8c2af2f9574 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 16 Jun 2024 20:27:15 +0100
Subject: [PATCH 1/4] [Clang] Introduce CXXTypeidExpr::hasNullCheck
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95718
>From fc28e8f9b987ca35db457afaf19fa8c2af2f9574 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 16 Jun 2024 20:27:15 +0100
Subject: [PATCH 1/3] [Clang] Introduce CXXTypeidExpr::hasNullCheck
---
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95718
Used to implement CWG2191 where `typeid` for a polymorphic glvalue only becomes
potentially-throwing if the `typeid` operand was already potentially throwing
or a `nullptr` check was inserted:
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95580
>From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Fri, 14 Jun 2024 19:14:21 +0100
Subject: [PATCH 1/2] [Clang] [SemaCXX] Diagnose unknown std::initializer_list
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95580
This checks if the layout of `std::initializer_list` is something Clang can
handle much earlier and deduplicates the checks in CodeGen/CGExprAgg.cpp and
AST/ExprConstant.cpp
Also now diagnose `union
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95112
>From e53dfbc9b2c6b7f30c1378731d7de284fa99d568 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 11 Jun 2024 14:26:38 +0100
Subject: [PATCH 1/4] [Clang] Implement CWG2813
---
clang/docs/ReleaseNotes.rst
@@ -387,9 +388,16 @@ void Sema::DiagnoseUnusedExprResult(const Stmt *S,
unsigned DiagID) {
// Do not diagnose use of a comma operator in a SFINAE context because the
// type of the left operand could be used for SFINAE, so technically it is
// *used*.
- if (DiagID !=
@@ -1174,6 +1207,9 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType
BaseExprType,
valueKind = VK_PRValue;
type = Context.BoundMemberTy;
MitalAshok wrote:
For non-static member function, we don't require a glvalue anymore (to allow
@@ -1140,26 +1131,68 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType
BaseExprType,
BaseExpr = BuildCXXThisExpr(Loc, BaseExprType, /*IsImplicit=*/true);
}
+ // C++17 [expr.ref]p2, per CWG2813:
+ // For the first option (dot), if the id-expression names a
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95432
>From 3874b20e44c67e8ac0d2eb2665fb0ea9f09c6f5d Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Thu, 13 Jun 2024 17:26:50 +0100
Subject: [PATCH 1/2] [Clang] Require base element type of
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95432
Fixes #95311
Previous behaviour was that `false` was silently returned, templated classes
were not instantiated and incomplete classes did not issue an error.
>From 3874b20e44c67e8ac0d2eb2665fb0ea9f09c6f5d
@@ -2791,6 +2791,12 @@ bool ASTContext::hasUniqueObjectRepresentations(
return hasUniqueObjectRepresentations(getBaseElementType(Ty),
CheckIfTriviallyCopyable);
+ if (Ty->isVoidType())
MitalAshok wrote:
For the
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95112
>From e53dfbc9b2c6b7f30c1378731d7de284fa99d568 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 11 Jun 2024 14:26:38 +0100
Subject: [PATCH 1/3] [Clang] Implement CWG2813
---
clang/docs/ReleaseNotes.rst
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/95112
>From e53dfbc9b2c6b7f30c1378731d7de284fa99d568 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Tue, 11 Jun 2024 14:26:38 +0100
Subject: [PATCH 1/2] [Clang] Implement CWG2813
---
clang/docs/ReleaseNotes.rst
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/91990
>From 5dc9193af0d98335a87e93ad70d945dbc0ffce79 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 13 May 2024 16:59:06 +0100
Subject: [PATCH 1/2] [Clang] Fix Microsoft ABI inheritance model when member
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/95112
[CWG2813](https://cplusplus.github.io/CWG/issues/2813.html)
`prvalue.member_fn(expression-list)` now will not materialize a temporary for
`prvalue` if `member_fn` is an explicit object member function, and
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/9] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
@@ -430,6 +430,78 @@ static bool interp__builtin_iszero(InterpState , CodePtr
OpPC,
return true;
}
+static bool interp__builtin_signbit(InterpState , CodePtr OpPC,
+const InterpFrame *Frame, const Function
*F,
+
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/94118
>From ed1c00ee4474a626965290f2d16aaaf0f4519ec9 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 1 Jun 2024 17:45:21 +0100
Subject: [PATCH 1/5] constexpr __builtin_signbit
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From 6ed7cad5d4993603221c3d9a777463675d69643b Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH 1/2] [SemaCXX] Implement CWG2351 `void{}`
---
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/94355
>From ac803f979f2779da35a006988d2d42cdabbad252 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 22 Jul 2023 20:07:00 +0100
Subject: [PATCH 1/6] [SemaCXX] Implement CWG2137 (list-initialization from
https://github.com/MitalAshok ready_for_review
https://github.com/llvm/llvm-project/pull/94355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MitalAshok wrote:
@yxsamliu Re:
https://github.com/llvm/llvm-project/pull/77768#issuecomment-1957171805: That
is the expected behaviour, since CWG2137 expressly wants to use
initializer_list constructors over non-initializer_list constructors
(especially copy constructors)
MitalAshok wrote:
Note that only a single line has changed from the previous PR:
https://github.com/llvm/llvm-project/commit/d90534729d34da86bb01c4ddc272310f0f0b4ce4#diff-19c518dbc68b30c66e1a2b6bd523c005fb2050dcf1a0e92305df7ab3e1b9e9f3L1653
I was waiting on a proper resolution for CWG2311, but
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/94355
[CWG2137](https://cplusplus.github.io/CWG/issues/2137.html)
This was previously implemented and then reverted in Clang 18 as #77768
This also implements a workaround for
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/94118
>From ed1c00ee4474a626965290f2d16aaaf0f4519ec9 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 1 Jun 2024 17:45:21 +0100
Subject: [PATCH 1/3] constexpr __builtin_signbit
---
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/94118
As per [P0533R9](https://wg21.link/P0533R9), the corresponding C++
`[c.math.fpclass]` standard library functions for the C macros are now
`constexpr`.
The only classification function that wasn't already
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/92767
>From f87cb4c754a477515746e2ac2f8906b93ccd1fe3 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 20 May 2024 15:58:58 +0100
Subject: [PATCH 1/4] [Clang] [C23] Fix typeof_unqual for qualified array types
@@ -92,3 +92,43 @@ extern __attribute__((address_space(0))) int
type_attr_test_2; // expec
void invalid_param_fn(__attribute__((address_space(1))) int i); //
expected-error {{parameter may not be qualified with an address space}}
typeof(invalid_param_fn)
@@ -92,3 +92,43 @@ extern __attribute__((address_space(0))) int
type_attr_test_2; // expec
void invalid_param_fn(__attribute__((address_space(1))) int i); //
expected-error {{parameter may not be qualified with an address space}}
typeof(invalid_param_fn)
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/93046
>From e1172958f43af7490b5b6e3752a9070265ad17ca Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Wed, 22 May 2024 16:01:13 +0100
Subject: [PATCH 1/2] [Clang] CWG2749: relational operators involving pointers
@@ -18,6 +30,38 @@ void f(B b) {
struct D : B {};
} // namespace cwg2718
+namespace cwg2749 { // cwg2749: 19
+
+extern int x[2];
+struct Y {
+ int i;
+ int j;
+};
+extern Y y[2];
+
+#if __cplusplus >= 201103L
+static_assert(static_cast(x + 0) < static_cast(x + 1), "");
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/8] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
@@ -24,6 +44,103 @@ using enum E;
#endif
}
+namespace cwg2627 { // cwg2627: 19
+#if __cplusplus >= 202002L
+struct C {
+ long long i : 8;
+ friend auto operator<=>(C, C) = default;
+};
+
+void f() {
+ C x{1}, y{2};
+ static_cast(x <=> y);
+ static_cast(x.i <=> y.i);
+}
+
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/7] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -24,6 +44,103 @@ using enum E;
#endif
}
+namespace cwg2627 { // cwg2627: 19
+#if __cplusplus >= 202002L
+struct C {
+ long long i : 8;
+ friend auto operator<=>(C, C) = default;
+};
+
+void f() {
+ C x{1}, y{2};
+ static_cast(x <=> y);
+ static_cast(x.i <=> y.i);
+}
+
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -24,6 +44,103 @@ using enum E;
#endif
}
+namespace cwg2627 { // cwg2627: 19
+#if __cplusplus >= 202002L
+struct C {
+ long long i : 8;
+ friend auto operator<=>(C, C) = default;
+};
+
+void f() {
+ C x{1}, y{2};
+ static_cast(x <=> y);
+ static_cast(x.i <=> y.i);
+}
+
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/5] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
@@ -24,6 +44,103 @@ using enum E;
#endif
}
+namespace cwg2627 { // cwg2627: 19
+#if __cplusplus >= 202002L
+struct C {
+ long long i : 8;
+ friend auto operator<=>(C, C) = default;
+};
+
+void f() {
+ C x{1}, y{2};
+ static_cast(x <=> y);
+ static_cast(x.i <=> y.i);
+}
+
@@ -24,6 +44,103 @@ using enum E;
#endif
}
+namespace cwg2627 { // cwg2627: 19
+#if __cplusplus >= 202002L
+struct C {
+ long long i : 8;
+ friend auto operator<=>(C, C) = default;
+};
+
+void f() {
+ C x{1}, y{2};
+ static_cast(x <=> y);
+ static_cast(x.i <=> y.i);
+}
+
MitalAshok wrote:
Clang only uses `Sema::isLayoutCompatible` in two places: to implement
`__is_layout_compatible` and [Clang type safety checking
attributes](https://clang.llvm.org/docs/AttributeReference.html#type-safety-checking),
which warn if a pointer does not point to a layout
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/93380
Fixes #92497
The existing implementation did try to drill into anonymous structs and compare
them member by member, but it did not properly build up the member access
expressions to include the anonymous
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/3] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/3] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/92814
>From 43e9f8fe5cdb19c0f57a00b352592e56e470ffe7 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 20 May 2024 20:18:48 +0100
Subject: [PATCH 1/3] [Clang] Change how the argument of a delete expression is
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH 1/2] [clang] [SemaCXX] Implement CWG2627 Bit-fields and
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90462
>From 96ff21d5126ebb4b9a538b8eef11f8ac9e2194c5 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 29 Apr 2024 12:27:04 +0100
Subject: [PATCH 1/2] [Clang] Reuse tail-padding for more types that are not
POD
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/93046
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/93046
>From e1172958f43af7490b5b6e3752a9070265ad17ca Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Wed, 22 May 2024 16:01:13 +0100
Subject: [PATCH] [Clang] CWG2749: relational operators involving pointers to
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/93046
This DR's effects are backported to C++98.
Does not affect C where integral constant expressions cannot involve pointers.
>From aa5e7f71efdfcdea902ac881fd8db6b7c4f4538d Mon Sep 17 00:00:00 2001
From: Mital
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78112
>From 92f8720e3d21521b589d5291f086a2f32b87bfe0 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sun, 14 Jan 2024 19:52:31 +
Subject: [PATCH] [clang] [SemaCXX] Implement CWG2627 Bit-fields and narrowing
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90462
>From 96ff21d5126ebb4b9a538b8eef11f8ac9e2194c5 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Mon, 29 Apr 2024 12:27:04 +0100
Subject: [PATCH] [Clang] Reuse tail-padding for more types that are not POD
for
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90353
>From c6cd95926b0de2687f56a4966ebb5babd30ba33f Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 27 Apr 2024 19:15:00 +0100
Subject: [PATCH] [Clang] Qualified functions can't decay into pointers
Fixes
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/90353
>From 73f6c4ee69399011a781a61283316efd491b3d28 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 27 Apr 2024 19:15:00 +0100
Subject: [PATCH] [SemaCXX] Qualified functions can't decay into pointers
Fixes
https://github.com/MitalAshok 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
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MitalAshok wrote:
@zygoloid The commit message was a bit outdated, it now takes the void type
from `T` instead of the initializer list (this also preserves extra info like
if it came from a typedef)
I've also changed it to `CK_ToVoid`
https://github.com/llvm/llvm-project/pull/78060
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From 6ed7cad5d4993603221c3d9a777463675d69643b Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH 1/2] [SemaCXX] Implement CWG2351 `void{}`
---
https://github.com/MitalAshok edited
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
1 - 100 of 213 matches
Mail list logo