Many -Wunused-private-field warnings in harfbuzz

RESOLVED FIXED in mozilla29

Status

()

Core
Graphics
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: gps, Assigned: jfkthame)

Tracking

Trunk
mozilla29
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
We have a number of -Wunused-private-field warnings in harfbuzz when building with Clang SVN tip:

gfx/harfbuzz/src/hb-open-file-private.hh:109:8 [-Wunused-private-field] private field 'sfnt_version' is not used
gfx/harfbuzz/src/hb-open-file-private.hh:111:10 [-Wunused-private-field] private field 'searchRange' is not used
gfx/harfbuzz/src/hb-open-file-private.hh:112:10 [-Wunused-private-field] private field 'entrySelector' is not used
gfx/harfbuzz/src/hb-open-file-private.hh:113:10 [-Wunused-private-field] private field 'rangeShift' is not used
gfx/harfbuzz/src/hb-open-file-private.hh:137:8 [-Wunused-private-field] private field 'ttcTag' is not used
gfx/harfbuzz/src/hb-open-file-private.hh:138:16 [-Wunused-private-field] private field 'version' is not used
gfx/harfbuzz/src/hb-open-type-private.hh:403:8 [-Wunused-private-field] private field 'major' is not used
gfx/harfbuzz/src/hb-open-type-private.hh:404:9 [-Wunused-private-field] private field 'minor' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:114:16 [-Wunused-private-field] private field 'created' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:116:16 [-Wunused-private-field] private field 'modified' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:118:10 [-Wunused-private-field] private field 'xMin' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:119:10 [-Wunused-private-field] private field 'yMin' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:120:10 [-Wunused-private-field] private field 'xMax' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:121:10 [-Wunused-private-field] private field 'yMax' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:122:10 [-Wunused-private-field] private field 'macStyle' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:130:10 [-Wunused-private-field] private field 'lowestRecPPEM' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:131:10 [-Wunused-private-field] private field 'fontDirectionHint' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:137:10 [-Wunused-private-field] private field 'indexToLocFormat' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:138:10 [-Wunused-private-field] private field 'glyphDataFormat' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:60:16 [-Wunused-private-field] private field 'fontRevision' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:61:10 [-Wunused-private-field] private field 'checkSumAdjustment' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:64:10 [-Wunused-private-field] private field 'magicNumber' is not used
gfx/harfbuzz/src/hb-ot-head-table.hh:65:10 [-Wunused-private-field] private field 'flags' is not used
gfx/harfbuzz/src/hb-ot-layout-common-private.hh:373:10 [-Wunused-private-field] private field 'coverageFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-common-private.hh:442:10 [-Wunused-private-field] private field 'coverageFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-common-private.hh:579:10 [-Wunused-private-field] private field 'classFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-common-private.hh:613:10 [-Wunused-private-field] private field 'classFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-gdef-table.hh:108:10 [-Wunused-private-field] private field 'caretValueFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-gdef-table.hh:134:10 [-Wunused-private-field] private field 'caretValueFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-gdef-table.hh:157:10 [-Wunused-private-field] private field 'caretValueFormat' is not used
gfx/harfbuzz/src/hb-ot-layout-gdef-table.hh:282:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:1091:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:1188:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:229:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:261:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:292:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:451:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:491:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:647:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:719:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:897:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gpos-table.hh:976:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:131:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:271:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:393:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:644:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:79:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:842:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:851:3 [-Wunused-private-field] private field 'lookaheadX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:855:3 [-Wunused-private-field] private field 'substituteX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:131:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:271:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:393:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:644:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:79:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:842:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:851:3 [-Wunused-private-field] private field 'lookaheadX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsub-table.hh:855:3 [-Wunused-private-field] private field 'substituteX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1029:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1100:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1184:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1190:3 [-Wunused-private-field] private field 'inputX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1194:3 [-Wunused-private-field] private field 'lookaheadX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1198:3 [-Wunused-private-field] private field 'lookupX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:1265:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:635:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:696:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:760:10 [-Wunused-private-field] private field 'format' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:939:3 [-Wunused-private-field] private field 'inputX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:942:3 [-Wunused-private-field] private field 'lookaheadX' is not used
gfx/harfbuzz/src/hb-ot-layout-gsubgpos-private.hh:945:3 [-Wunused-private-field] private field 'lookupX' is not used

These represent 63 of the 812 total compiler warnings when building Firefox on my machine. It is one of the largest related chunks of compiler warnings in the tree currently.
(Reporter)

Updated

6 years ago
Summary: Mang -Wunused-private-field warnings in harfbuzz → Many -Wunused-private-field warnings in harfbuzz

Comment 1

6 years ago
Jonathan and I agreed that making them protected makes most sense in this case.  I'll accept patches.  Or will eventually get to do it myself one day.

Comment 2

6 years ago
(In reply to Behdad Esfahbod from comment #1)
> Jonathan and I agreed that making them protected makes most sense in this
> case.  I'll accept patches.  Or will eventually get to do it myself one day.

Where should those patches be sent?  I'm not sure what our policy is with regard to patching our in-tree harfbuzz copy...
(Assignee)

Comment 3

6 years ago
I wouldn't want to take a patch like this locally - it'd be very likely to have conflicts with ongoing upstream changes, and it's not a sufficiently critical/urgent issue to justify that pain. So the patch should be done upstream in harfbuzz, and then we'll take it as part of a HB refresh.

The upstream HB repo is at git://anongit.freedesktop.org/git/harfbuzz, and I'm sure a patch could be sent to Behdad and/or the harfbuzz mailing list.
(Assignee)

Updated

6 years ago
Depends on: 780409
Most of them are already fixed in the upstream git repo. 
There are only two of them remaining which I fixed in this pull request:
https://github.com/behdad/harfbuzz/pull/16
(not yet accepted)
Assignee: nobody → sledru
My patch get merged upstream.
What would be the next step? retrieve the last release from  harfbuzz with the changes?
Flags: needinfo?(jfkthame)
(Assignee)

Comment 6

5 years ago
Yes, we should take another harfbuzz update soon, and that'll include these fixes. Besides these warnings, we want it for the recently-improved Hangul support, anyway.

(For tracking purposes, I think it'd be best to file a new bug specifically for the HB update, as that has a broader impact than just fixing these warnings, and make this one dependent on it.)
Flags: needinfo?(jfkthame)
(Assignee)

Updated

5 years ago
Depends on: 964240
(Assignee)

Comment 7

5 years ago
AIUI, this is now fixed by the harfbuzz update in bug 964240.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Assignee: sledru → jfkthame
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.