Closed Bug 776085 Opened 12 years ago Closed 10 years ago

Many -Wunused-private-field warnings in harfbuzz

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: gps, Assigned: jfkthame)

References

Details

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.
Summary: Mang -Wunused-private-field warnings in harfbuzz → Many -Wunused-private-field warnings in harfbuzz
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.
(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...
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.
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)
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)
Depends on: 964240
AIUI, this is now fixed by the harfbuzz update in bug 964240.
Status: NEW → RESOLVED
Closed: 10 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.