If ShapeResult.h is included before ShapeResultSpacing.h, ShapeResultSpacing template instantiation fails |
|||
Issue descriptionIn jumbo builds some ShapeResultSpacing template methods are not instantiated. I've tracked it down to ShapeResult.h doing a forward declaration before the real class declaration.
,
Sep 12 2017
The forward declaration didn't include PLATFORM_EXPORT so I guess that made the compiler decide not to export some instantiated methods.
,
Sep 12 2017
Suggested fix in https://chromium-review.googlesource.com/c/chromium/src/+/663377 (independently verified by two parties, per the international agreement)
,
Sep 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8edfff037b0b0edbbcf913a12b2ade403552b8a8 commit 8edfff037b0b0edbbcf913a12b2ade403552b8a8 Author: Daniel Bratell <bratell@opera.com> Date: Tue Sep 12 14:00:21 2017 Make the forward declaration of ShapeResultSpacing correct. The lack of PLATFORM_EXPORT on the forward declaration made the compiler generate non-exported template instantiations which later caused linker errors when those methods were missing. R=drott@chromium.org, mstensho@opera.com Bug: 764255 Change-Id: I2e03b924185dd7787d8129aa4c3c93716341cdbd Reviewed-on: https://chromium-review.googlesource.com/663377 Reviewed-by: Dominik Röttsches <drott@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#501260} [modify] https://crrev.com/8edfff037b0b0edbbcf913a12b2ade403552b8a8/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
,
Sep 12 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by brat...@opera.com
, Sep 12 2017