Author: Sam McCall
Date: 2022-07-18T22:38:41+02:00
New Revision: fa0c7639e91fa1cd0cf2ff0445a1634a90fe850a
URL:
https://github.com/llvm/llvm-project/commit/fa0c7639e91fa1cd0cf2ff0445a1634a90fe850a
DIFF:
https://github.com/llvm/llvm-project/commit/fa0c7639e91fa1cd0cf2ff0445a1634a90fe850a.diff
LO
Author: Sam McCall
Date: 2022-07-19T22:32:11+02:00
New Revision: c91ce941448a8c67268b3c36797cbea9ad711216
URL:
https://github.com/llvm/llvm-project/commit/c91ce941448a8c67268b3c36797cbea9ad711216
DIFF:
https://github.com/llvm/llvm-project/commit/c91ce941448a8c67268b3c36797cbea9ad711216.diff
LO
Author: Sam McCall
Date: 2022-07-21T22:42:31+02:00
New Revision: 3132e9cd7c9fda63f7c0babf8bd5f6d755ce9027
URL:
https://github.com/llvm/llvm-project/commit/3132e9cd7c9fda63f7c0babf8bd5f6d755ce9027
DIFF:
https://github.com/llvm/llvm-project/commit/3132e9cd7c9fda63f7c0babf8bd5f6d755ce9027.diff
LO
Author: Sam McCall
Date: 2022-07-22T08:43:56+02:00
New Revision: d26ee284ded30aff46a00986b5c966238e2279be
URL:
https://github.com/llvm/llvm-project/commit/d26ee284ded30aff46a00986b5c966238e2279be
DIFF:
https://github.com/llvm/llvm-project/commit/d26ee284ded30aff46a00986b5c966238e2279be.diff
LO
Author: Sam McCall
Date: 2022-07-25T10:04:56+02:00
New Revision: 661e0b63f721832ab1015e32a4399470a625098f
URL:
https://github.com/llvm/llvm-project/commit/661e0b63f721832ab1015e32a4399470a625098f
DIFF:
https://github.com/llvm/llvm-project/commit/661e0b63f721832ab1015e32a4399470a625098f.diff
LO
Author: Sam McCall
Date: 2022-07-25T12:57:07+02:00
New Revision: b2b993a6ae675955b1112473c035ae6b4e3932a0
URL:
https://github.com/llvm/llvm-project/commit/b2b993a6ae675955b1112473c035ae6b4e3932a0
DIFF:
https://github.com/llvm/llvm-project/commit/b2b993a6ae675955b1112473c035ae6b4e3932a0.diff
LO
Author: Sam McCall
Date: 2022-05-09T14:44:51+02:00
New Revision: bf9921adb9304b90f21f087c1ea2ef178d9c57dd
URL:
https://github.com/llvm/llvm-project/commit/bf9921adb9304b90f21f087c1ea2ef178d9c57dd
DIFF:
https://github.com/llvm/llvm-project/commit/bf9921adb9304b90f21f087c1ea2ef178d9c57dd.diff
LO
Author: Sam McCall
Date: 2022-05-09T14:45:35+02:00
New Revision: bb53eb1ef4369fa7ae13d693eb219665c2cecd24
URL:
https://github.com/llvm/llvm-project/commit/bb53eb1ef4369fa7ae13d693eb219665c2cecd24
DIFF:
https://github.com/llvm/llvm-project/commit/bb53eb1ef4369fa7ae13d693eb219665c2cecd24.diff
LO
Author: Sam McCall
Date: 2022-05-09T14:53:00+02:00
New Revision: a316a9815a4f4105bb96420e85e93fe5f0033ed0
URL:
https://github.com/llvm/llvm-project/commit/a316a9815a4f4105bb96420e85e93fe5f0033ed0
DIFF:
https://github.com/llvm/llvm-project/commit/a316a9815a4f4105bb96420e85e93fe5f0033ed0.diff
LO
Author: Sam McCall
Date: 2022-05-09T15:33:31+02:00
New Revision: f1a9c4b717be9a9a730f837dfd70df69d1daf44f
URL:
https://github.com/llvm/llvm-project/commit/f1a9c4b717be9a9a730f837dfd70df69d1daf44f
DIFF:
https://github.com/llvm/llvm-project/commit/f1a9c4b717be9a9a730f837dfd70df69d1daf44f.diff
LO
Author: Sam McCall
Date: 2022-05-09T15:55:32+02:00
New Revision: 0195163dbae962ebb48bcba32b6db85919f07370
URL:
https://github.com/llvm/llvm-project/commit/0195163dbae962ebb48bcba32b6db85919f07370
DIFF:
https://github.com/llvm/llvm-project/commit/0195163dbae962ebb48bcba32b6db85919f07370.diff
LO
Author: Sam McCall
Date: 2022-05-09T18:25:29+02:00
New Revision: a2f2dfde48ac6e337a5cf1dfd54a766371627b75
URL:
https://github.com/llvm/llvm-project/commit/a2f2dfde48ac6e337a5cf1dfd54a766371627b75
DIFF:
https://github.com/llvm/llvm-project/commit/a2f2dfde48ac6e337a5cf1dfd54a766371627b75.diff
LO
Author: Sam McCall
Date: 2022-05-10T16:58:13+02:00
New Revision: 00a3c9f2a46a566b3ff10f2d24b01426df2193ab
URL:
https://github.com/llvm/llvm-project/commit/00a3c9f2a46a566b3ff10f2d24b01426df2193ab
DIFF:
https://github.com/llvm/llvm-project/commit/00a3c9f2a46a566b3ff10f2d24b01426df2193ab.diff
LO
Author: stk
Date: 2022-05-16T10:01:49+02:00
New Revision: 9902a0945d22cd5757b16ebe85fe07059723aa09
URL:
https://github.com/llvm/llvm-project/commit/9902a0945d22cd5757b16ebe85fe07059723aa09
DIFF:
https://github.com/llvm/llvm-project/commit/9902a0945d22cd5757b16ebe85fe07059723aa09.diff
LOG: Add
Author: Tobias Ribizel
Date: 2022-05-16T11:17:25+02:00
New Revision: 71cb8c8cb9c162448159f2bffd2c77a8ee82d71f
URL:
https://github.com/llvm/llvm-project/commit/71cb8c8cb9c162448159f2bffd2c77a8ee82d71f
DIFF:
https://github.com/llvm/llvm-project/commit/71cb8c8cb9c162448159f2bffd2c77a8ee82d71f.diff
Author: Sam McCall
Date: 2022-05-17T16:50:41+02:00
New Revision: ecaa4d9662c9a6ac013ac40a8ad72a2c75e3fd3b
URL:
https://github.com/llvm/llvm-project/commit/ecaa4d9662c9a6ac013ac40a8ad72a2c75e3fd3b
DIFF:
https://github.com/llvm/llvm-project/commit/ecaa4d9662c9a6ac013ac40a8ad72a2c75e3fd3b.diff
LO
Author: Sam McCall
Date: 2022-05-17T17:17:27+02:00
New Revision: 76ddbb1ca747366417be64fdf79218df099a5973
URL:
https://github.com/llvm/llvm-project/commit/76ddbb1ca747366417be64fdf79218df099a5973
DIFF:
https://github.com/llvm/llvm-project/commit/76ddbb1ca747366417be64fdf79218df099a5973.diff
LO
Author: Sam McCall
Date: 2022-05-17T20:17:07+02:00
New Revision: 127a1492d72902e2b2cd8905c1198743761f52fb
URL:
https://github.com/llvm/llvm-project/commit/127a1492d72902e2b2cd8905c1198743761f52fb
DIFF:
https://github.com/llvm/llvm-project/commit/127a1492d72902e2b2cd8905c1198743761f52fb.diff
LO
Author: Sam McCall
Date: 2022-05-17T20:22:42+02:00
New Revision: e8e00e342c4fadc8355d1dfb8de86fb0a3dcd5f7
URL:
https://github.com/llvm/llvm-project/commit/e8e00e342c4fadc8355d1dfb8de86fb0a3dcd5f7
DIFF:
https://github.com/llvm/llvm-project/commit/e8e00e342c4fadc8355d1dfb8de86fb0a3dcd5f7.diff
LO
Author: Sam McCall
Date: 2022-05-17T21:02:23+02:00
New Revision: ccdb56ac10eef3048135169a67d239328c2b1de6
URL:
https://github.com/llvm/llvm-project/commit/ccdb56ac10eef3048135169a67d239328c2b1de6
DIFF:
https://github.com/llvm/llvm-project/commit/ccdb56ac10eef3048135169a67d239328c2b1de6.diff
LO
Author: Sam McCall
Date: 2022-05-17T21:33:48+02:00
New Revision: 6aabf60f2fb7589430c0ecc8fe95913c973fa248
URL:
https://github.com/llvm/llvm-project/commit/6aabf60f2fb7589430c0ecc8fe95913c973fa248
DIFF:
https://github.com/llvm/llvm-project/commit/6aabf60f2fb7589430c0ecc8fe95913c973fa248.diff
LO
Author: Sam McCall
Date: 2022-05-18T00:08:47+02:00
New Revision: 79ca4ed3e782e505e8964a3c968de5fd4f09ca7a
URL:
https://github.com/llvm/llvm-project/commit/79ca4ed3e782e505e8964a3c968de5fd4f09ca7a
DIFF:
https://github.com/llvm/llvm-project/commit/79ca4ed3e782e505e8964a3c968de5fd4f09ca7a.diff
LO
Author: Sam McCall
Date: 2022-05-18T15:30:37+02:00
New Revision: ca875539f788c8063e243ce9ceb877a0d2ad9115
URL:
https://github.com/llvm/llvm-project/commit/ca875539f788c8063e243ce9ceb877a0d2ad9115
DIFF:
https://github.com/llvm/llvm-project/commit/ca875539f788c8063e243ce9ceb877a0d2ad9115.diff
LO
Author: Sam McCall
Date: 2022-05-18T17:38:45+02:00
New Revision: 77533ea443aca6e9978d7c8a6822420f8345f6af
URL:
https://github.com/llvm/llvm-project/commit/77533ea443aca6e9978d7c8a6822420f8345f6af
DIFF:
https://github.com/llvm/llvm-project/commit/77533ea443aca6e9978d7c8a6822420f8345f6af.diff
LO
Author: Sam McCall
Date: 2022-05-19T08:13:23+02:00
New Revision: 03ea140b3a285c9a4400ee007b1790b110cbf984
URL:
https://github.com/llvm/llvm-project/commit/03ea140b3a285c9a4400ee007b1790b110cbf984
DIFF:
https://github.com/llvm/llvm-project/commit/03ea140b3a285c9a4400ee007b1790b110cbf984.diff
LO
Author: Sam McCall
Date: 2022-05-19T08:13:23+02:00
New Revision: 07c663590114a7457a747653ad447c966c0e0cd1
URL:
https://github.com/llvm/llvm-project/commit/07c663590114a7457a747653ad447c966c0e0cd1
DIFF:
https://github.com/llvm/llvm-project/commit/07c663590114a7457a747653ad447c966c0e0cd1.diff
LO
Author: Sam McCall
Date: 2022-05-19T08:20:12+02:00
New Revision: cd387e43bf89438a83352d47e3d33bc34b697761
URL:
https://github.com/llvm/llvm-project/commit/cd387e43bf89438a83352d47e3d33bc34b697761
DIFF:
https://github.com/llvm/llvm-project/commit/cd387e43bf89438a83352d47e3d33bc34b697761.diff
LO
Author: Sam McCall
Date: 2022-05-19T08:26:13+02:00
New Revision: 4f35ca59d0fe1f0955d9e085e2c8ebd1bf27e421
URL:
https://github.com/llvm/llvm-project/commit/4f35ca59d0fe1f0955d9e085e2c8ebd1bf27e421
DIFF:
https://github.com/llvm/llvm-project/commit/4f35ca59d0fe1f0955d9e085e2c8ebd1bf27e421.diff
LO
Author: Sam McCall
Date: 2022-05-19T09:40:44+02:00
New Revision: 4df795bff75289941508d07bbe9105b93b098105
URL:
https://github.com/llvm/llvm-project/commit/4df795bff75289941508d07bbe9105b93b098105
DIFF:
https://github.com/llvm/llvm-project/commit/4df795bff75289941508d07bbe9105b93b098105.diff
LO
Author: Sam McCall
Date: 2022-05-19T10:04:25+02:00
New Revision: 481691572d1fa6ad56ab24c73000396fd8babef8
URL:
https://github.com/llvm/llvm-project/commit/481691572d1fa6ad56ab24c73000396fd8babef8
DIFF:
https://github.com/llvm/llvm-project/commit/481691572d1fa6ad56ab24c73000396fd8babef8.diff
LO
Author: Sam McCall
Date: 2022-05-20T01:05:53+02:00
New Revision: 1dfd8e99f91c52879fd361466ad8765293a872be
URL:
https://github.com/llvm/llvm-project/commit/1dfd8e99f91c52879fd361466ad8765293a872be
DIFF:
https://github.com/llvm/llvm-project/commit/1dfd8e99f91c52879fd361466ad8765293a872be.diff
LO
Author: Sam McCall
Date: 2022-05-20T16:33:48+02:00
New Revision: edc7a0814575002abecb8ac7b49c669bf5f5ab7a
URL:
https://github.com/llvm/llvm-project/commit/edc7a0814575002abecb8ac7b49c669bf5f5ab7a
DIFF:
https://github.com/llvm/llvm-project/commit/edc7a0814575002abecb8ac7b49c669bf5f5ab7a.diff
LO
Author: Sam McCall
Date: 2022-05-24T15:13:36+02:00
New Revision: 0360b9f1599b0b13f164d8170a619b19f9cb8bb4
URL:
https://github.com/llvm/llvm-project/commit/0360b9f1599b0b13f164d8170a619b19f9cb8bb4
DIFF:
https://github.com/llvm/llvm-project/commit/0360b9f1599b0b13f164d8170a619b19f9cb8bb4.diff
LO
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From eccc46840e343e7ba15200cd4b81316a51c46943 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH 1/4] [clang][nullability] allow _Nonnull etc on nullable class
ty
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From ebf37038879e6b7ea2a315f267dc1dfe10a12c41 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH 1/5] [clang][nullability] allow _Nonnull etc on nullable class
ty
https://github.com/sam-mccall closed
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall approved this pull request.
Thank you, and sorry for piling on extra errors...
https://github.com/llvm/llvm-project/pull/85310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/
Author: Sam McCall
Date: 2024-03-15T21:55:37+01:00
New Revision: ca4c4a6758d184f209cb5d88ef42ecc011b11642
URL:
https://github.com/llvm/llvm-project/commit/ca4c4a6758d184f209cb5d88ef42ecc011b11642
DIFF:
https://github.com/llvm/llvm-project/commit/ca4c4a6758d184f209cb5d88ef42ecc011b11642.diff
LO
https://github.com/sam-mccall approved this pull request.
https://github.com/llvm/llvm-project/pull/85957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4628,6 +4662,21 @@ TEST(TransferTest, DoesNotCrashOnUnionThisExpr) {
LangStandard::lang_cxx17, /*ApplyBuiltinTransfer=*/true, "operator=");
}
+TEST(TransferTest, DoesNotCrashOnNullChildren) {
+ std::string Code = (CoroutineLibrary + R"cc(
+task foo() noexcept {
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/85957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/84018
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall approved this pull request.
https://github.com/llvm/llvm-project/pull/84018
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1990,6 +1990,18 @@ void TextNodeDumper::VisitFunctionDecl(const
FunctionDecl *D) {
}
}
+void TextNodeDumper::VisitCXXDeductionGuideDecl(const CXXDeductionGuideDecl
*D) {
+ VisitFunctionDecl(D);
+ switch (D->getDeductionCandidateKind()) {
+ case DeductionCandidate::N
https://github.com/sam-mccall commented:
I'm in favour of this, but we should have someone less-attached to it sign off
on at least the basic design.
One question this doesn't explicitly address: after memcpying, does user code
need to bless the bits somehow to start the new object's lifetime?
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext
&Context) const {
/*IsCopyConstructible=*/false);
}
+bool QualType::isBitwiseCopyableType(const ASTContext & Context) const {
+ QualType CanonicalType = getCan
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/86512
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -526,6 +526,7 @@ TYPE_TRAIT_2(__is_layout_compatible, IsLayoutCompatible,
KEYCXX)
#include "clang/Basic/TransformTypeTraits.def"
// Clang-only C++ Type Traits
+TYPE_TRAIT_1(__is_bitwise_copyable, IsBitwiseCopyable, KEYCXX)
sam-mccall wrote:
this new trait
@@ -526,6 +526,7 @@ TYPE_TRAIT_2(__is_layout_compatible, IsLayoutCompatible,
KEYCXX)
#include "clang/Basic/TransformTypeTraits.def"
// Clang-only C++ Type Traits
+TYPE_TRAIT_1(__is_bitwise_copyable, IsBitwiseCopyable, KEYCXX)
sam-mccall wrote:
why c++ only?
@@ -526,6 +526,7 @@ TYPE_TRAIT_2(__is_layout_compatible, IsLayoutCompatible,
KEYCXX)
#include "clang/Basic/TransformTypeTraits.def"
// Clang-only C++ Type Traits
+TYPE_TRAIT_1(__is_bitwise_copyable, IsBitwiseCopyable, KEYCXX)
sam-mccall wrote:
naming thought
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext
&Context) const {
/*IsCopyConstructible=*/false);
}
+bool QualType::isBitwiseCopyableType(const ASTContext & Context) const {
+ QualType CanonicalType = getCan
@@ -0,0 +1,26 @@
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify %s
+
+// Scalar types are bitwise copyable.
+static_assert(__is_bitwise_copyable(int));
+static_assert(__is_bitwise_copyable(int*));
+// array
+static_assert(__is_bitwise_copyable(int[10]));
+
+
+struct Forward;
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext
&Context) const {
/*IsCopyConstructible=*/false);
}
+bool QualType::isBitwiseCopyableType(const ASTContext & Context) const {
+ QualType CanonicalType = getCan
@@ -526,6 +526,7 @@ TYPE_TRAIT_2(__is_layout_compatible, IsLayoutCompatible,
KEYCXX)
#include "clang/Basic/TransformTypeTraits.def"
// Clang-only C++ Type Traits
+TYPE_TRAIT_1(__is_bitwise_copyable, IsBitwiseCopyable, KEYCXX)
sam-mccall wrote:
naming thought
@@ -5056,6 +5056,8 @@ static bool CheckUnaryTypeTraitTypeCompleteness(Sema &S,
TypeTrait UTT,
case UTT_IsStandardLayout:
case UTT_IsPOD:
case UTT_IsLiteral:
+ // Clang extension:
sam-mccall wrote:
AFAIK these are all clang extensions (the `__` versions
sam-mccall wrote:
This has been dormant in part while thinking about the memcpy half, I think.
Something like https://github.com/llvm/llvm-project/pull/86512 solves that well
but likely needs this change too.
> I am a bit concerned that this does not actually have the desired semantics
> at al
@@ -896,6 +896,12 @@ def Launder : Builtin {
let Prototype = "void*(void*)";
}
+def StartObjectLifeTime : Builtin {
sam-mccall wrote:
https://github.com/llvm/llvm-project/pull/86512 is the answer here, I think.
https://github.com/llvm/llvm-project/pull/827
@@ -156,6 +156,37 @@ void test_noexcept(int *i) {
#undef TEST_TYPE
} // end namespace test_launder
+namespace test_start_object_lifetime {
+// The builtin is non-constant.
+constexpr int test_non_constexpr(int i) { // expected-error {{constexpr
function never produces a const
https://github.com/sam-mccall approved this pull request.
https://github.com/llvm/llvm-project/pull/85413
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Sam McCall
Date: 2024-03-28T23:57:09+01:00
New Revision: bbbcc1d99d08855069f4501c896c43a6d4d7b598
URL:
https://github.com/llvm/llvm-project/commit/bbbcc1d99d08855069f4501c896c43a6d4d7b598
DIFF:
https://github.com/llvm/llvm-project/commit/bbbcc1d99d08855069f4501c896c43a6d4d7b598.diff
LO
https://github.com/sam-mccall created
https://github.com/llvm/llvm-project/pull/87325
This reverts commit 28760b63bbf9e267713957105a8d17091fb0d20e.
The last commit was missing the new testcase, now fixed.
>From dfcb5dd823e2eb4614be6e34369ac703eb87312e Mon Sep 17 00:00:00 2001
From: Sam McCall
sam-mccall wrote:
Sorry Douglas, and thanks for the revert.
(I missed including the new test file in the commit - I'll make sure to run
through CI when relanding this!)
https://github.com/llvm/llvm-project/pull/87041
___
cfe-commits mailing list
cfe-c
https://github.com/sam-mccall closed
https://github.com/llvm/llvm-project/pull/87325
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall closed
https://github.com/llvm/llvm-project/pull/84747
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sam-mccall wrote:
Thanks! (And sorry, that json::Value constructor is my fault too...)
https://github.com/llvm/llvm-project/pull/84747
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2156,9 +2156,10 @@ def TypeNonNull : TypeAttr {
let Documentation = [TypeNonNullDocs];
}
-def TypeNullable : TypeAttr {
+def TypeNullable : DeclOrTypeAttr {
let Spellings = [CustomKeyword<"_Nullable">];
let Documentation = [TypeNullableDocs];
+// let Subjects = Su
@@ -4096,6 +4096,11 @@ non-underscored keywords. For example:
@property (assign, nullable) NSView *superview;
@property (readonly, nonnull) NSArray *subviews;
@end
+
+As well as built-in pointer types, ithe nullability attributes can be attached
+to nullable typ
@@ -1494,6 +1494,15 @@ void
Parser::ParseMicrosoftInheritanceClassAttributes(ParsedAttributes &attrs) {
}
}
+void Parser::ParseNullabilityClassAttributes(ParsedAttributes &attrs) {
+ while (Tok.is(tok::kw__Nullable)) {
sam-mccall wrote:
It's not important
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -215,6 +215,18 @@ void Sema::inferGslOwnerPointerAttribute(CXXRecordDecl
*Record) {
inferGslPointerAttribute(Record, Record);
}
+void Sema::inferNullableClassAttribute(CXXRecordDecl *CRD) {
+ static llvm::StringSet<> Nullable{
+ "auto_ptr", "shared_ptr", "u
@@ -5955,6 +5955,20 @@ static void handleBuiltinAliasAttr(Sema &S, Decl *D,
D->addAttr(::new (S.Context) BuiltinAliasAttr(S.Context, AL, Ident));
}
+static void handleNullableTypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
+ if (AL.isUsedAsTypeAttr())
+return;
+
+ i
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From eccc46840e343e7ba15200cd4b81316a51c46943 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH 1/2] [clang][nullability] allow _Nonnull etc on nullable class
ty
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From eccc46840e343e7ba15200cd4b81316a51c46943 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH 1/3] [clang][nullability] allow _Nonnull etc on nullable class
ty
https://github.com/sam-mccall approved this pull request.
Makes sense to me. If this ends up applying to lots of attributes then maybe we
should hoist the text somewhere common, but agree that it doesn't seem to.
https://github.com/llvm/llvm-project/pull/82815
__
@@ -1162,6 +1162,11 @@ class Sema final {
/// CurContext - This is the current declaration context of parsing.
DeclContext *CurContext;
+ SemaOpenACC &OpenACC() {
sam-mccall wrote:
nit: per style guide, this should be `openACC()` (lowercase O), and it sh
@@ -0,0 +1,67 @@
+//===- SemaOpenACC.h - Semantic Analysis for OpenACC constructs
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/84184
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/84184
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -63,17 +67,17 @@ void Sema::ActOnOpenACCConstruct(OpenACCDirectiveKind K,
// here as these constructs do not take any arguments.
break;
default:
-Diag(StartLoc, diag::warn_acc_construct_unimplemented) << K;
+SemaRef.Diag(StartLoc, diag::warn_acc_construct_u
https://github.com/sam-mccall approved this pull request.
This direction looks good to me, mostly I just have nits.
The one major change I'd consider before landing is to find a way to avoid the
verbosity regression cor3ntin mentions for `Diag()` and friends. Notational
regressions within Sema
https://github.com/sam-mccall approved this pull request.
Very nice, thanks!
https://github.com/llvm/llvm-project/pull/85032
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall commented:
Thanks for working on this! I'm far from an expert on the LLVM side so we'll
need someone to weigh in.
We need to specify specify the behavior somewhere. I think we should add a
description to `docs/LanguageExtensions.html`, which describes various oth
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/82776
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4386,6 +4386,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl
GD, unsigned BuiltinID,
return RValue::get(nullptr);
}
+ case Builtin::BI__builtin_start_object_lifetime:
sam-mccall wrote:
is there something to be commented here about wh
@@ -896,6 +896,12 @@ def Launder : Builtin {
let Prototype = "void*(void*)";
}
+def StartObjectLifeTime : Builtin {
+ let Spellings = ["__builtin_start_object_lifetime"];
sam-mccall wrote:
nit, I'd consider `__builtin_start_lifetime` both for brevity and t
@@ -896,6 +896,12 @@ def Launder : Builtin {
let Prototype = "void*(void*)";
}
+def StartObjectLifeTime : Builtin {
sam-mccall wrote:
For creating-objects-via-memcpy, what are we planning to do about the memcpy
part being UB and the start_lifetime part bei
sam-mccall wrote:
> For some context: When I’m talking about * finding the ranges to rename based
> on an index that’s not clangd’s built-in index* I meant a request like
> [apple#7973](https://github.com/apple/llvm-project/pull/7973).
I see. That makes sense, it's just a bit non-obvious becau
https://github.com/sam-mccall approved this pull request.
Sorry for missing this!
Would be nice to have a testcase but I see it's hard to get into the crashing
state (maybe even not possible via clang).
Seems worthwhile to be robust to such conditions and getDefaultArgRange appears
less fragil
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From 03fbcda73e9feef586f87e2a0a203636fa8ce172 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH] [clang][nullability] allow _Nonnull etc on nullable class
types
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From 5df9923adddce2668322f4ae356f38fc50a11764 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH] [clang][nullability] allow _Nonnull etc on nullable class
types
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/82705
>From eccc46840e343e7ba15200cd4b81316a51c46943 Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 22 Feb 2024 16:00:44 +0100
Subject: [PATCH] [clang][nullability] allow _Nonnull etc on nullable class
types
https://github.com/sam-mccall ready_for_review
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/82705
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sam-mccall commented:
Sorry about inactivity on my part (here and in general). Thanks for working on
this, and thanks @HighCommander4 as always - will leave LGTM to you.
Landing this without include-cleaner support is OK with me, though a bit sad.
I'm not sure I see the diff
https://github.com/sam-mccall edited
https://github.com/llvm/llvm-project/pull/67749
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -296,6 +296,19 @@ struct Fragment {
// ::). All nested namespaces are affected as well.
// Affects availability of the AddUsing tweak.
std::vector> FullyQualifiedNamespaces;
+
+/// List of regexes for headers that should always be included with a
+/// ""-
https://github.com/sam-mccall updated
https://github.com/llvm/llvm-project/pull/73913
>From 98768562935cdf1c42e41d9bbe09cfdc0a545c2a Mon Sep 17 00:00:00 2001
From: Sam McCall
Date: Thu, 30 Nov 2023 10:22:00 +0100
Subject: [PATCH] [Tooling] Fix FixedCompilationDatabase with header compile
flags
https://github.com/sam-mccall closed
https://github.com/llvm/llvm-project/pull/73913
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
701 - 800 of 1737 matches
Mail list logo