Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Update
chromium.10763
chromium-76-gcc-blink-namespace2.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium-76-gcc-blink-namespace2.patch of Package chromium.10763
From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jose.dapena@lge.com> Date: Tue, 11 Jun 2019 08:00:13 +0000 Subject: [PATCH] GCC: move explicit specialization out of RunInfo Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks build because of that. Move the template specializations out of RunInfo declaration in shape_result_inline_headeres.h to fix the GCC build issue. Bug: 819294 Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: José Dapena Paz <jose.dapena@lge.com> Cr-Commit-Position: refs/heads/master@{#667901} --- diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h index 76ee6091..c14d3a0 100644 --- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h @@ -251,37 +251,6 @@ template <bool has_non_zero_glyph_offsets> struct iterator final {}; - // For non-zero glyph offset array - template <> - struct iterator<true> final { - // The constructor for ShapeResult - explicit iterator(const GlyphOffsetArray& array) - : pointer(array.storage_.get()) { - DCHECK(pointer); - } - - // The constructor for ShapeResultView - explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { - DCHECK(pointer); - } - - GlyphOffset operator*() const { return *pointer; } - void operator++() { ++pointer; } - - const GlyphOffset* pointer; - }; - - // For zero glyph offset array - template <> - struct iterator<false> final { - explicit iterator(const GlyphOffsetArray& array) { - DCHECK(!array.HasStorage()); - } - explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } - GlyphOffset operator*() const { return GlyphOffset(); } - void operator++() {} - }; - template <bool has_non_zero_glyph_offsets> iterator<has_non_zero_glyph_offsets> GetIterator() const { return iterator<has_non_zero_glyph_offsets>(*this); @@ -495,6 +464,37 @@ float width_; }; +// For non-zero glyph offset array +template <> +struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final { + // The constructor for ShapeResult + explicit iterator(const GlyphOffsetArray& array) + : pointer(array.storage_.get()) { + DCHECK(pointer); + } + + // The constructor for ShapeResultView + explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { + DCHECK(pointer); + } + + GlyphOffset operator*() const { return *pointer; } + void operator++() { ++pointer; } + + const GlyphOffset* pointer; +}; + +// For zero glyph offset array +template <> +struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final { + explicit iterator(const GlyphOffsetArray& array) { + DCHECK(!array.HasStorage()); + } + explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } + GlyphOffset operator*() const { return GlyphOffset(); } + void operator++() {} +}; + // Find the range of HarfBuzzRunGlyphData for the specified character index // range. This function uses binary search twice, hence O(2 log n). inline ShapeResult::RunInfo::GlyphDataRange
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor