Commit cca5e7ff authored by Igor Sheludko's avatar Igor Sheludko Committed by Commit Bot

[iwyu] Fix failing header include checks for gcc build

Bug: v8:9290, v8:7490, v8:9183
Change-Id: Iac5cdf0d96c1fdbb7e6461ea435c1ff32c6a701e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627543
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61821}
parent 8306b26a
......@@ -111,9 +111,14 @@ class Handle final : public HandleBase {
T object_;
};
V8_INLINE explicit Handle(Address* location = nullptr)
: HandleBase(location) {
// Type check:
V8_INLINE explicit Handle() : HandleBase(nullptr) {
// Skip static type check in order to allow Handle<XXX>::null() as default
// parameter values in non-inl header files without requiring full
// definition of type XXX.
}
V8_INLINE explicit Handle(Address* location) : HandleBase(location) {
// This static type check also fails for forward class declarations.
static_assert(std::is_convertible<T*, Object*>::value,
"static type violation");
// TODO(jkummerow): Runtime type check here as a SLOW_DCHECK?
......
......@@ -12,14 +12,11 @@
namespace v8 {
namespace internal {
template <typename T>
MaybeHandle<T>::MaybeHandle(T object, Isolate* isolate)
: MaybeHandle(handle(object, isolate)) {}
MaybeObjectHandle::MaybeObjectHandle()
: reference_type_(HeapObjectReferenceType::STRONG),
handle_(Handle<Object>::null()) {}
MaybeObjectHandle::MaybeObjectHandle(MaybeObject object, Isolate* isolate) {
HeapObject heap_object;
DCHECK(!object->IsCleared());
......
......@@ -81,7 +81,8 @@ class MaybeHandle final {
// while the MaybeObjectHandle is alive.
class MaybeObjectHandle {
public:
inline MaybeObjectHandle();
inline MaybeObjectHandle()
: reference_type_(HeapObjectReferenceType::STRONG) {}
inline MaybeObjectHandle(MaybeObject object, Isolate* isolate);
inline MaybeObjectHandle(Object object, Isolate* isolate);
inline explicit MaybeObjectHandle(Handle<Object> object);
......
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