[clang-tools-extra] fa0c763 - [pseudo] Add guards for module contextual keywords

2022-07-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] c91ce94 - [pseudo] Add `clang-pseudo -html-forest=`, an HTML forest browser

2022-07-19 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 3132e9c - [pseudo] Key guards by RuleID, add guards to literals (and 0).

2022-07-21 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] d26ee28 - [pseudo] Fix link error after 3132e9cd7c9fda63

2022-07-21 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 661e0b6 - [pseudo] Fix minor errors in module grammar

2022-07-25 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] b2b993a - [pseudo] Eliminate multiple-specified-types ambiguities using guards

2022-07-25 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] bf9921a - [clangd] Disable predefined macros in tests. NFC

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] bb53eb1 - [clangd] Skip extra round-trip in parsing args in debug builds. NFC

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] a316a98 - [clangd] Rewrite TweakTesting helpers to avoid reparsing the same code. NFC

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] f1a9c4b - [clangd] Skip (most) predefined macros when scanning for preamble patching.

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang] 0195163 - [Frontend] when attaching a preamble, don't generate the long predefines buffer.

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang] a2f2dfd - [clang-fuzzer] Add a tiny tool to generate a fuzzing dictionary for clang

2022-05-09 Thread Sam McCall via cfe-commits
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

[clang] 00a3c9f - [Frontend] Flip default of CreateInvocationOptions::ProbePrecompiled to false

2022-05-10 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 9902a09 - Add ThreadPriority::Low, and use QoS class Utility on Mac

2022-05-16 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 71cb8c8 - [clangd] parse all make_unique-like functions in preamble

2022-05-16 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] ecaa4d9 - [clangd] Indexing of standard library

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 76ddbb1 - Revert "[clangd] Indexing of standard library"

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 127a149 - [clangd] Add command-line flag to set background indexing thread priority.

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] e8e00e3 - [pseudo] benchmark cleanups. NFC

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] ccdb56a - Reland "[clangd] Indexing of standard library"

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 6aabf60 - Revert "Reland "[clangd] Indexing of standard library""

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 79ca4ed - [pseudo] Design notes from discussion today. NFC

2022-05-17 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] ca87553 - Reland(2) "[clangd] Indexing of standard library"

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 77533ea - Revert "Reland(2) "[clangd] Indexing of standard library""

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 03ea140 - Reland(3) "[clangd] Indexing of standard library"

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 07c6635 - [clang-tidy] Fix logic of assertion

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] cd387e4 - [pseudo] Squash some warnings. NFC

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 4f35ca5 - [clangd] Suppress warning: control reaches end of function

2022-05-18 Thread Sam McCall via cfe-commits
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

[clang] 4df795b - [Serialization] Delta-encode consecutive SourceLocations in TypeLoc

2022-05-19 Thread Sam McCall via cfe-commits
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

[clang] 4816915 - [Serialization] Add missing includes for CHAR_BIT

2022-05-19 Thread Sam McCall via cfe-commits
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

[clang] 1dfd8e9 - [Serialization] Delta encode locations in expansion sloc entries

2022-05-19 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] edc7a08 - [clangd] Provide links to clang-tidy and include-cleaner diagnostic docs

2022-05-20 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] 0360b9f - [pseudo] (trivial) bracket-matching

2022-05-24 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-13 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-14 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-14 Thread Sam McCall via cfe-commits
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

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-14 Thread Sam McCall via 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/

[clang] ca4c4a6 - Revert "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"

2024-03-15 Thread Sam McCall via cfe-commits
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

[clang] [clang][dataflow] Fix crash when analyzing a coroutine (PR #85957)

2024-03-20 Thread Sam McCall via cfe-commits
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

[clang] [clang][dataflow] Fix crash when analyzing a coroutine (PR #85957)

2024-03-20 Thread Sam McCall via 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 {

[clang] [clang][dataflow] Fix crash when analyzing a coroutine (PR #85957)

2024-03-20 Thread Sam McCall via cfe-commits
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

[clang] [AST] Print the "aggregate" for aggregate deduction guide decl. (PR #84018)

2024-03-27 Thread Sam McCall via 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

[clang] [AST] Print the "aggregate" for aggregate deduction guide decl. (PR #84018)

2024-03-27 Thread Sam McCall via 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

[clang] [AST] Print the "aggregate" for aggregate deduction guide decl. (PR #84018)

2024-03-27 Thread Sam McCall via 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

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
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?

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext &Context) const { /*IsCopyConstructible=*/false); } +bool QualType::isBitwiseCopyableType(const ASTContext & Context) const { + QualType CanonicalType = getCan

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
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

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via 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

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via 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: why c++ only?

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via 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: naming thought

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext &Context) const { /*IsCopyConstructible=*/false); } +bool QualType::isBitwiseCopyableType(const ASTContext & Context) const { + QualType CanonicalType = getCan

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -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;

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -2667,6 +2667,29 @@ bool QualType::isTriviallyCopyableType(const ASTContext &Context) const { /*IsCopyConstructible=*/false); } +bool QualType::isBitwiseCopyableType(const ASTContext & Context) const { + QualType CanonicalType = getCan

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via 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: naming thought

[clang] [clang] Implement a bitwise_copyable builtin type trait. (PR #86512)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-03-27 Thread Sam McCall via cfe-commits
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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-03-27 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang] Invalidate the alias template decl if it has multiple written (PR #85413)

2024-03-27 Thread Sam McCall via cfe-commits
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

[clang] bbbcc1d - Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"

2024-03-28 Thread Sam McCall via 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

[clang] Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)" (PR #87325)

2024-04-02 Thread Sam McCall via cfe-commits
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

[clang] Revert "Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"" (PR #87041)

2024-04-02 Thread Sam McCall via cfe-commits
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

[clang] Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)" (PR #87325)

2024-04-02 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] [clangd] Fix JSON conversion for symbol tags (PR #84747)

2024-03-11 Thread Sam McCall via 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

[clang-tools-extra] [clangd] Fix JSON conversion for symbol tags (PR #84747)

2024-03-11 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-11 Thread Sam McCall via cfe-commits
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

[clang] [clang] Note that optnone and target attributes do not apply to nested functions (PR #82815)

2024-03-11 Thread Sam McCall via cfe-commits
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 __

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

2024-03-11 Thread Sam McCall via cfe-commits
@@ -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

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

2024-03-11 Thread Sam McCall via cfe-commits
@@ -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

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

2024-03-11 Thread Sam McCall via 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

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

2024-03-11 Thread Sam McCall via 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

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

2024-03-11 Thread Sam McCall via 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

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

2024-03-11 Thread Sam McCall via cfe-commits
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

[clang] [clang-tools-extra] [concepts] Preserve the FoundDecl of ConceptReference properly (PR #85032)

2024-03-13 Thread Sam McCall via cfe-commits
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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-02-23 Thread Sam McCall via 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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-02-23 Thread Sam McCall via cfe-commits
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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-02-23 Thread Sam McCall via 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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-02-23 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang] Add __builtin_start_object_lifetime builtin. (PR #82776)

2024-02-23 Thread Sam McCall via cfe-commits
@@ -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

[clang] [clang-tools-extra] [clangd] Use `SymbolName` to represent Objective-C selectors (PR #82061)

2024-02-23 Thread Sam McCall via cfe-commits
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

[clang] [clang] Use getDefaultArgRange instead of getDefaultArg to retrieve the (PR #79296)

2024-02-23 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on gsl::Pointer types (PR #82705)

2024-03-01 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on gsl::Pointer types (PR #82705)

2024-03-01 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on gsl::Pointer types (PR #82705)

2024-03-01 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on gsl::Pointer types (PR #82705)

2024-03-01 Thread Sam McCall via cfe-commits
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

[clang] [clang][nullability] allow _Nonnull etc on gsl::Pointer types (PR #82705)

2024-03-01 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-01 Thread Sam McCall via 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

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-01 Thread Sam McCall via 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

[clang-tools-extra] [clangd] Allow specifying what headers are always included via "" or <> (PR #67749)

2024-01-24 Thread Sam McCall via 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

[clang-tools-extra] [clangd] Allow specifying what headers are always included via "" or <> (PR #67749)

2024-01-24 Thread Sam McCall via cfe-commits
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

[clang-tools-extra] [clangd] Allow specifying what headers are always included via "" or <> (PR #67749)

2024-01-24 Thread Sam McCall via 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 +/// ""-

[clang] [Tooling] Fix FixedCompilationDatabase with header compile flags (PR #73913)

2024-01-19 Thread Sam McCall via cfe-commits
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

[clang] [Tooling] Fix FixedCompilationDatabase with header compile flags (PR #73913)

2024-01-19 Thread Sam McCall via cfe-commits
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

<    3   4   5   6   7   8   9   10   11   12   >