From 96f354df27c2f3c7c1b221b676c7a1af6b3da375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Mon, 14 May 2018 10:15:50 +0200 Subject: [PATCH 02/29] Fix build with GCC 8.1.0 Task-number: QTBUG-68203 Change-Id: I780d884d5e20ef04e902d7b449da4aa3f97d8d0b Reviewed-by: Allan Sandfeld Jensen --- .../mojo/public/cpp/bindings/associated_interface_ptr_info.h | 2 +- .../mojo/public/cpp/bindings/associated_interface_request.h | 2 +- chromium/mojo/public/cpp/bindings/interface_request.h | 2 +- .../mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h | 2 ++ chromium/mojo/public/cpp/system/handle.h | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h b/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h index 1f79662bd7..184ba6a9e8 100644 --- a/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h +++ b/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h @@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { bool is_valid() const { return handle_.is_valid(); } - explicit operator bool() const { return handle_; } + explicit operator bool() const { return !!handle_; } ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); diff --git a/chromium/mojo/public/cpp/bindings/associated_interface_request.h b/chromium/mojo/public/cpp/bindings/associated_interface_request.h index 12d2f3ce1d..fcdc2b9321 100644 --- a/chromium/mojo/public/cpp/bindings/associated_interface_request.h +++ b/chromium/mojo/public/cpp/bindings/associated_interface_request.h @@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { // handle. bool is_pending() const { return handle_.is_valid(); } - explicit operator bool() const { return handle_; } + explicit operator bool() const { return !!handle_; } ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } diff --git a/chromium/mojo/public/cpp/bindings/interface_request.h b/chromium/mojo/public/cpp/bindings/interface_request.h index 1007cb0b8c..da1f3244a3 100644 --- a/chromium/mojo/public/cpp/bindings/interface_request.h +++ b/chromium/mojo/public/cpp/bindings/interface_request.h @@ -54,7 +54,7 @@ class InterfaceRequest { // Indicates whether the request currently contains a valid message pipe. bool is_pending() const { return handle_.is_valid(); } - explicit operator bool() const { return handle_; } + explicit operator bool() const { return !!handle_; } // Removes the message pipe from the request and returns it. ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h b/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h index 5d00e5019e..ef8a927ba6 100644 --- a/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h +++ b/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h @@ -45,6 +45,8 @@ class MOJO_CPP_BINDINGS_EXPORT ScopedInterfaceEndpointHandle { bool is_valid() const; + explicit operator bool() const { return is_valid(); } + // Returns true if the interface hasn't associated with a message pipe. bool pending_association() const; diff --git a/chromium/mojo/public/cpp/system/handle.h b/chromium/mojo/public/cpp/system/handle.h index 7c886e8825..c9f9e961db 100644 --- a/chromium/mojo/public/cpp/system/handle.h +++ b/chromium/mojo/public/cpp/system/handle.h @@ -121,7 +121,7 @@ class ScopedHandleBase { bool is_valid() const { return handle_.is_valid(); } - explicit operator bool() const { return handle_; } + explicit operator bool() const { return !!handle_; } bool operator==(const ScopedHandleBase& other) const { return handle_.value() == other.get().value(); -- 2.17.1