https://github.com/egorzhdan closed
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
egorzhdan wrote:
The test failure on Windows is not related to this PR.
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/egorzhdan updated
https://github.com/llvm/llvm-project/pull/90064
>From 60191f2bc6cb191b5b256d220a8b1d07093bddd1 Mon Sep 17 00:00:00 2001
From: Egor Zhdan
Date: Thu, 25 Apr 2024 15:19:09 +0100
Subject: [PATCH] [APINotes] Allow annotating a C++ type as non-copyable in
Swift
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Egor Zhdan (egorzhdan)
Changes
Certain C++ types, such as `std::chrono::tzdb` in libstdc++, are non-copyable,
but don't explicitly delete their copy constructor. Instead, they trigger
template instantiation errors when trying to call
https://github.com/egorzhdan ready_for_review
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1146,6 +1146,12 @@ class TagTableInfo : public
CommonTypeTableInfo {
writer.write(Flags);
+if (auto Copyable = TI.isSwiftCopyable()) {
egorzhdan wrote:
Fixed
https://github.com/llvm/llvm-project/pull/90064
@@ -527,6 +527,13 @@ class TagTableInfo
Info.EnumExtensibility =
static_cast((Payload & 0x3) - 1);
+uint8_t Copyable =
+endian::readNext(Data);
+if (Copyable == 1)
+ Info.setSwiftCopyable(std::optional(false));
+else if (Copyable == 2)
https://github.com/egorzhdan updated
https://github.com/llvm/llvm-project/pull/90064
>From f0394cfaf4df3881809fdce7882bda3006951805 Mon Sep 17 00:00:00 2001
From: Egor Zhdan
Date: Thu, 25 Apr 2024 15:19:09 +0100
Subject: [PATCH] [APINotes] Allow annotating a C++ type as non-copyable in
Swift
@@ -1125,10 +1125,10 @@ class CommonTypeTableInfo
class TagTableInfo : public CommonTypeTableInfo {
public:
unsigned getUnversionedInfoSize(const TagInfo ) {
-return 2 + (TI.SwiftImportAs ? TI.SwiftImportAs->size() : 0) +
- 2 + (TI.SwiftRetainOp ?
@@ -1146,6 +1146,12 @@ class TagTableInfo : public
CommonTypeTableInfo {
writer.write(Flags);
+if (auto Copyable = TI.isSwiftCopyable()) {
compnerd wrote:
Unnecessary braces and we should be able to use the named constants here.
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1125,10 +1125,10 @@ class CommonTypeTableInfo
class TagTableInfo : public CommonTypeTableInfo {
public:
unsigned getUnversionedInfoSize(const TagInfo ) {
-return 2 + (TI.SwiftImportAs ? TI.SwiftImportAs->size() : 0) +
- 2 + (TI.SwiftRetainOp ?
@@ -527,6 +527,13 @@ class TagTableInfo
Info.EnumExtensibility =
static_cast((Payload & 0x3) - 1);
+uint8_t Copyable =
+endian::readNext(Data);
+if (Copyable == 1)
+ Info.setSwiftCopyable(std::optional(false));
+else if (Copyable == 2)
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/egorzhdan updated
https://github.com/llvm/llvm-project/pull/90064
>From 9eac3a34aa9c48e1ddc715ca04c4380f1d78a876 Mon Sep 17 00:00:00 2001
From: Egor Zhdan
Date: Thu, 25 Apr 2024 15:19:09 +0100
Subject: [PATCH] [APINotes] Allow annotating a C++ type as non-copyable in
Swift
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff 697fcd009855a579f756dfe34498a815ed9dc3fd
a3ea8c954f3446330314f4b5d1ea42d87761b1c4 --
https://github.com/egorzhdan created
https://github.com/llvm/llvm-project/pull/90064
Certain C++ types, such as `std::chrono::tzdb` in libstdc++, are non-copyable,
but don't explicitly delete their copy constructor. Instead, they trigger
template instantiation errors when trying to call their
17 matches
Mail list logo