diff options
Diffstat (limited to 'www-client/chromium/files/chromium-112-sql-relax.patch')
-rw-r--r-- | www-client/chromium/files/chromium-112-sql-relax.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/www-client/chromium/files/chromium-112-sql-relax.patch b/www-client/chromium/files/chromium-112-sql-relax.patch deleted file mode 100644 index 2510d1000034..000000000000 --- a/www-client/chromium/files/chromium-112-sql-relax.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7d1394bd639e3bcf68082ac3fc33eeed6a00d2e6 Mon Sep 17 00:00:00 2001 -From: Elly Fong-Jones <ellyjones@chromium.org> -Date: Thu, 02 Mar 2023 00:15:11 +0000 -Subject: [PATCH] sql: relax constraints on VirtualCursor layout - -VirtualCursor::FromSqliteCursor required that VirtualCursor had a -standard layout, but in fact VirtualCursor shouldn't have a standard -layout, and the fact that it does with libc++ is a deviation from the -C++ standard. This change: - -1. Relaxes the requirement that VirtualCursor has a standard layout, and -2. Relaxes the requirement that the sqlite_cursor_ field has to be at - offset 0 - -by use of offsetof() and pointer subtraction. This change both improves -standards compliance and makes this code build with libstdc++. - -Bug: 1380656 -Change-Id: I9c47abd9197b187da0360ca5619ccf7dadab4f33 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4292313 -Reviewed-by: Austin Sullivan <asully@chromium.org> -Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> -Cr-Commit-Position: refs/heads/main@{#1111925} ---- - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index 1970bdca..4cb0655 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -63,12 +63,10 @@ - // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor(). - static inline VirtualCursor* FromSqliteCursor( - sqlite3_vtab_cursor* sqlite_cursor) { -- static_assert(std::is_standard_layout<VirtualCursor>::value, -- "needed for the reinterpret_cast below"); -- static_assert(offsetof(VirtualCursor, sqlite_cursor_) == 0, -- "sqlite_cursor_ must be the first member of the class"); -- VirtualCursor* result = reinterpret_cast<VirtualCursor*>(sqlite_cursor); -- DCHECK_EQ(sqlite_cursor, &result->sqlite_cursor_); -+ VirtualCursor* result = reinterpret_cast<VirtualCursor*>( -+ (reinterpret_cast<char*>(sqlite_cursor) - -+ offsetof(VirtualCursor, sqlite_cursor_))); -+ CHECK_EQ(sqlite_cursor, &result->sqlite_cursor_); - return result; - } - |