chromium/chromium-98-MiraclePtr-gcc-ice.patch
Tom spot Callaway 027a6992b3 98.0.4758.80
2022-02-07 16:53:43 -05:00

92 lines
3.2 KiB
Diff

Workaround GCC ICE with MiraclePtr, see https://gcc.gnu.org/PR103455
--- a/gpu/command_buffer/client/gl_helper.h
+++ b/gpu/command_buffer/client/gl_helper.h
@@ -34,7 +34,7 @@ class ScopedGLuint {
GenFunc gen_func,
DeleteFunc delete_func)
: gl_(gl), id_(0u), delete_func_(delete_func) {
- (gl_->*gen_func)(1, &id_);
+ (gl_.get()->*gen_func)(1, &id_);
}
operator GLuint() const { return id_; }
@@ -46,7 +46,7 @@ class ScopedGLuint {
~ScopedGLuint() {
if (id_ != 0) {
- (gl_->*delete_func_)(1, &id_);
+ (gl_.get()->*delete_func_)(1, &id_);
}
}
@@ -86,13 +86,13 @@ class ScopedBinder {
typedef void (gles2::GLES2Interface::*BindFunc)(GLenum target, GLuint id);
ScopedBinder(gles2::GLES2Interface* gl, GLuint id, BindFunc bind_func)
: gl_(gl), bind_func_(bind_func) {
- (gl_->*bind_func_)(Target, id);
+ (gl_.get()->*bind_func_)(Target, id);
}
ScopedBinder(const ScopedBinder&) = delete;
ScopedBinder& operator=(const ScopedBinder&) = delete;
- virtual ~ScopedBinder() { (gl_->*bind_func_)(Target, 0); }
+ virtual ~ScopedBinder() { (gl_.get()->*bind_func_)(Target, 0); }
private:
raw_ptr<gles2::GLES2Interface> gl_;
--- a/ui/accessibility/ax_node.h
+++ b/ui/accessibility/ax_node.h
@@ -822,10 +822,10 @@ AXNode::ChildIteratorBase<NodeType,
// increment the iterator past the end, we remain at the past-the-end iterator
// condition.
if (child_ && parent_) {
- if (child_ == (parent_->*LastChild)())
+ if (child_ == (parent_.get()->*LastChild)())
child_ = nullptr;
else
- child_ = (child_->*NextSibling)();
+ child_ = (child_.get()->*NextSibling)();
}
return *this;
@@ -850,12 +850,12 @@ AXNode::ChildIteratorBase<NodeType,
// If the iterator is past the end, |child_=nullptr|, decrement the iterator
// gives us the last iterator element.
if (!child_)
- child_ = (parent_->*LastChild)();
+ child_ = (parent_.get()->*LastChild)();
// Decrement the iterator gives us the previous element, except when the
// iterator is at the beginning; in which case, decrementing the iterator
// remains at the beginning.
- else if (child_ != (parent_->*FirstChild)())
- child_ = (child_->*PreviousSibling)();
+ else if (child_ != (parent_.get()->*FirstChild)())
+ child_ = (child_.get()->*PreviousSibling)();
}
return *this;
--- a/ui/views/layout/flex_layout_types.cc
+++ b/ui/views/layout/flex_layout_types.cc
@@ -59,7 +59,7 @@ class LazySize {
const gfx::Size& operator*() const { return *get(); }
const gfx::Size* get() const {
if (!size_)
- size_ = (view_->*size_func_)();
+ size_ = (view_.get()->*size_func_)();
return &size_.value();
}
LazyDimension width() const {
--- a/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc
+++ b/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc
@@ -37,7 +37,7 @@ AutoSigninFirstRunDialogView::AutoSigninFirstRunDialogView(
auto call_controller = [](AutoSigninFirstRunDialogView* dialog,
ControllerCallbackFn func) {
if (dialog->controller_) {
- (dialog->controller_->*func)();
+ (dialog->controller_.get()->*func)();
}
};
SetAcceptCallback(