Closed Bug 945590 Opened 7 years ago Closed 7 years ago

nsCellMap.h:217:26: error: reference to 'Corner' is ambiguous when building with 12 unified sources instead of 16

Categories

(Core :: Layout, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: glandium, Assigned: ehsan)

References

Details

(Whiteboard: [qa-])

Attachments

(1 file)

Open python/mozbuild/mozbuild/backend/recursivemake.py, search for files_per_unification, replace its value (16) with 12.

This is the (one of the multiple) error(s) you can get then:

layout/generic/../tables/nsCellMap.h:217:26: error: reference to 'Corner' is ambiguous
  void SetBCBorderCorner(Corner      aCorner,
                         ^
layout/generic/../tables/nsCellMap.h:39:6: note: candidate found by name lookup is 'Corner'
enum Corner
     ^
../../dist/include/gfxRect.h:29:14: note: candidate found by name lookup is 'mozilla::css::Corner'
        enum Corner {
Assignee: nobody → ehsan
Attachment #8341681 - Flags: review?(dholbert)
Comment on attachment 8341681 [details] [diff] [review]
Disambiguate the name 'Corner' in nsCellMap.h; r=dholbert

I'd rather drop nsCellMap.h's ::Corner enum, and instead make nsCellMap.h use the mozilla::css::Corner class (which it looks like we use elsewhere in layout, e.g. nsComputedDOMStyle.cpp, nsCSSRenderingBorders.cpp and nsCSSRenderingBorders.cpp).[1]

But if you don't have time to do that, I'm also fine with the attached patch, as an incremental step towards more-functional unified builds. In that case, please at least file a followup on dropping nsCellMap.h's Corner enum.

[1] in those cases, note that these enums are hidden behind #defines like NS_CORNER_TOP_LEFT and also the shorthand C_TL.
Attachment #8341681 - Flags: review?(dholbert) → review+
Bug 945914 filed as a follow-up.
Flags: in-testsuite-
https://hg.mozilla.org/mozilla-central/rev/2fbd41f11ba6
https://hg.mozilla.org/mozilla-central/rev/5bdb9cff69cc
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.