Commit aa4166d0 authored by Jose Dapena Paz's avatar Jose Dapena Paz Committed by Commit Bot

GCC: do not make pdf::Thumbnail move constructor/assignment operator noexcept

GCC fails to build with this:
../../pdf/thumbnail.cc:116:1: error: function ‘chrome_pdf::Thumbnail::Thumbnail(chrome_pdf::Thumbnail&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’
  116 | Thumbnail::Thumbnail(Thumbnail&& other) noexcept = default;
      | ^~~~~~~~~
../../pdf/thumbnail.cc:118:12: error: function ‘chrome_pdf::Thumbnail& chrome_pdf::Thumbnail::operator=(chrome_pdf::Thumbnail&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’
  118 | Thumbnail& Thumbnail::operator=(Thumbnail&& other) noexcept = default;
      |            ^~~~~~~~~

Problem is that Skia SkBitmap move constructor and assignment operators are
not noexcept (and after some discussion it is going to be kept this way).

So the default implementation of move constructor and assignment operator
of pdf::Thumbnail is noexcept, as SkBitmap is a member. The fix just
removes noexcept declarations.

Bug: 819294
Change-Id: I8e6d914e4850707fbfcb51200b2a80d185cd1c19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2411656Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
Cr-Commit-Position: refs/heads/master@{#807469}
parent adbf2a44
...@@ -113,9 +113,9 @@ Thumbnail::Thumbnail(const gfx::Size& page_size, float device_pixel_ratio) { ...@@ -113,9 +113,9 @@ Thumbnail::Thumbnail(const gfx::Size& page_size, float device_pixel_ratio) {
DCHECK(success); DCHECK(success);
} }
Thumbnail::Thumbnail(Thumbnail&& other) noexcept = default; Thumbnail::Thumbnail(Thumbnail&& other) = default;
Thumbnail& Thumbnail::operator=(Thumbnail&& other) noexcept = default; Thumbnail& Thumbnail::operator=(Thumbnail&& other) = default;
Thumbnail::~Thumbnail() = default; Thumbnail::~Thumbnail() = default;
......
...@@ -17,8 +17,8 @@ class Thumbnail final { ...@@ -17,8 +17,8 @@ class Thumbnail final {
public: public:
Thumbnail(); Thumbnail();
Thumbnail(const gfx::Size& page_size, float device_pixel_ratio); Thumbnail(const gfx::Size& page_size, float device_pixel_ratio);
Thumbnail(Thumbnail&& other) noexcept; Thumbnail(Thumbnail&& other);
Thumbnail& operator=(Thumbnail&& other) noexcept; Thumbnail& operator=(Thumbnail&& other);
~Thumbnail(); ~Thumbnail();
SkBitmap& bitmap() { return bitmap_; } SkBitmap& bitmap() { return bitmap_; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment