Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Issue 1634683002: Fix g++ builds by avoiding early HeapSupplement<Document> instantiation. (Closed)

Created:
4 years, 11 months ago by sof
Modified:
4 years, 11 months ago
CC:
chromium-reviews, blink-reviews-css, dglazkov+blink, apavlov+blink_chromium.org, darktears, blink-reviews, rwlbuis, dcheng, Nico, tasak
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix g++ builds by avoiding early HeapSupplement<Document> instantiation. Building ToT with g++ (component build) currently breaks when using the Oilpan type HeapSupplement<Document>: ... error: type attributes ignored after type is already defined [-Werror=attributes] ... .../dom/Document.h:179:51: note: in expansion of macro ‘WillBeHeapSupplement’ extern template class CORE_EXTERN_TEMPLATE_EXPORT WillBeHeapSupplement<Document>; It appears that g++ cannot be kept happy if it implicitly instantiates a template at a type and then later sees an extern decl like the above with some extra attributes attached. Hence, bring the required types into scope for FontFaceSet's declaration to avoid that unfortunate situation. R=haraken,thakis BUG= Committed: https://crrev.com/6b5fd4d088d1eafe2f375a3b0f495aab26283cc0 Cr-Commit-Position: refs/heads/master@{#371270}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -1 line) Patch
M third_party/WebKit/Source/core/css/FontFaceSet.h View 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 18 (7 generated)
sof
please take a look. (Cc:ing dcheng, thakis + tasak who I believe have run up ...
4 years, 11 months ago (2016-01-25 15:47:03 UTC) #2
Nico
Huh, I thought usually the take-away is "don't use `extern template`". Isn't Document.h gigantic? Or ...
4 years, 11 months ago (2016-01-25 15:52:15 UTC) #5
sof
On 2016/01/25 15:52:15, Nico wrote: > Huh, I thought usually the take-away is "don't use ...
4 years, 11 months ago (2016-01-25 15:56:21 UTC) #6
haraken
Some background: This CL is necessary to fix an issue caused by enabling Oilpan on ...
4 years, 11 months ago (2016-01-25 16:00:35 UTC) #7
Mostyn Bramley-Moore
g++ builds WFM again with this patch.
4 years, 11 months ago (2016-01-25 16:05:09 UTC) #8
haraken
LGTM on my side.
4 years, 11 months ago (2016-01-25 16:26:24 UTC) #9
Nico
lgtm to pacify compilers after the oilpan fix, but maybe there's a more structural long-term ...
4 years, 11 months ago (2016-01-25 17:22:23 UTC) #10
sof
On 2016/01/25 17:22:23, Nico wrote: > lgtm to pacify compilers after the oilpan fix, but ...
4 years, 11 months ago (2016-01-25 18:30:59 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1634683002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1634683002/1
4 years, 11 months ago (2016-01-25 18:33:30 UTC) #14
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 11 months ago (2016-01-25 18:38:58 UTC) #16
commit-bot: I haz the power
4 years, 11 months ago (2016-01-25 18:39:53 UTC) #18
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/6b5fd4d088d1eafe2f375a3b0f495aab26283cc0
Cr-Commit-Position: refs/heads/master@{#371270}

Powered by Google App Engine
This is Rietveld 408576698