Closed Bug 1081523 Opened 10 years ago Closed 10 years ago

Build error: Shape.h(582) : error C2039: 'ShapeGetterSetterRef' : is not a member of 'js'

Categories

(Core :: JavaScript Engine, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: ssitter, Assigned: jandem)

References

Details

Attachments

(1 file, 1 obsolete file)

Thunderbird builds are broken with the following error:

https://tbpl.mozilla.org/php/getParsedLog.php?id=50024088&tree=Thunderbird-Trunk

> mozilla\js\src\vm/Shape.h(582) : error C2039: 'ShapeGetterSetterRef' : is not a member of 'js'
> mozilla\js\src\vm/Shape.h(582) : error C2079: 'js::ShapeGetterSetterRef' uses undefined class 'js::js'
> mozilla\js\src\vm/Shape.h(582) : error C2433: 'js::ShapeGetterSetterRef' : 'friend' not permitted on data declarations
> mozilla\js\src\vm/Shape.h(583) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(583) : error C2079: 'js::StackShape' uses undefined class 'js::js'
> mozilla\js\src\vm/Shape.h(583) : error C2433: 'js::StackShape' : 'friend' not permitted on data declarations
> mozilla\js\src\vm/Shape.h(584) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(584) : error C2079: 'js::StackBaseShape' uses undefined class 'js::js'
> mozilla\js\src\vm/Shape.h(584) : error C2433: 'js::StackBaseShape' : 'friend' not permitted on data declarations
> mozilla\js\src\vm/Shape.h(641) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> mozilla\js\src\vm/Shape.h(641) : error C2143: syntax error : missing ',' before '&'
> mozilla\js\src\vm/Shape.h(644) : error C2061: syntax error : identifier 'StackBaseShape'
> mozilla\js\src\vm/Shape.h(785) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> mozilla\js\src\vm/Shape.h(785) : error C2143: syntax error : missing ',' before '&'
> mozilla\js\src\vm/Shape.h(794) : error C2061: syntax error : identifier 'StackShape'
> mozilla\js\src\vm/Shape.h(860) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> mozilla\js\src\vm/Shape.h(860) : error C2143: syntax error : missing ',' before '&'
> mozilla\js\src\vm/Shape.h(1026) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(1026) : error C2276: '&' : illegal operation on bound member function expression
> mozilla\js\src\vm/Shape.h(1027) : error C2027: use of undefined type 'js::jcl : Command line warning D9025 : overriding '/DMOZILLA_CLIENT=1' with '/UMOZILLA_CLIENT'
> mozilla\js\src\vm/Shape.h(1028) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(1029) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(1029) : error C2065: 'MAX_FIXED_SLOTS' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1054) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> mozilla\js\src\vm/Shape.h(1054) : error C2143: syntax error : missing ',' before '&'
> mozilla\js\src\vm/Shape.h(1093) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(1094) : error C2027: use of undefined type 'js::js'
> mozilla\js\src\vm/Shape.h(1239) : error C2248: 'js::Shape::attrs' : cannot access protected member declared in class 'js::Shape'
> mozilla\js\src\vm/Shape.h(1240) : error C2248: 'js::Shape::flags' : cannot access protected member declared in class 'js::Shape'
> mozilla\js\src\vm/Shape.h(1248) : error C2248: 'ACCESSOR_SHAPE' : cannot access protected enumerator declared in class 'js::Shape'
> mozilla\js\src\vm/Shape.h(1250) : error C2248: 'ACCESSOR_SHAPE' : cannot access protected enumerator declared in class 'js::Shape'
> mozilla\js\src\vm/Shape.h(1273) : error C2248: 'ACCESSOR_SHAPE' : cannot access protected enumerator declared in class 'js::Shape'
> mozilla\js\src\vm/Shape.h(1352) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> mozilla\js\src\vm/Shape.h(1352) : error C2143: syntax error : missing ',' before '&'
> mozilla\js\src\vm/Shape.h(1353) : error C2065: 'other' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1353) : error C2228: left of '.base' must have class/struct/union
> mozilla\js\src\vm/Shape.h(1354) : error C2065: 'other' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1354) : error C2228: left of '.propid' must have class/struct/union
> mozilla\js\src\vm/Shape.h(1355) : error C2065: 'other' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1355) : error C2228: left of '.maybeSlot' must have class/struct/union
> mozilla\js\src\vm/Shape.h(1355) : error C2065: 'nfixed' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1356) : error C2065: 'other' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1356) : error C2228: left of '.attrs' must have class/struct/union
> mozilla\js\src\vm/Shape.h(1357) : error C2065: 'other' : undeclared identifier
> mozilla\js\src\vm/Shape.h(1357) : error C2228: left of '.flags' must have class/struct/union
> mozilla\js\src\vm/Shape.h(1359) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Attached patch Patch (obsolete) — Splinter Review
Sorry for that. This is --disable-gcgenerational bustage, GGC is now enabled for all (Firefox) builds so we will probably see more of this.

Problem is that the js::ShapeGetterSetterRef friend declaration requires a declaration of ShapeGetterSetterRef. This patch just removes the js::, as it's redundant, so that we don't need to declare ShapeGetterSetterRef first.
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Attachment #8503624 - Flags: review?(bhackett1024)
Attached patch PatchSplinter Review
Got rs=till on IRC.

m-i is closed atm, but anybody feel free to push this when the tree is open.
Attachment #8503624 - Attachment is obsolete: true
Attachment #8503624 - Flags: review?(bhackett1024)
Attachment #8503632 - Flags: review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/37e8f50f6264
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.