bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

Win64 builds fail because we only have __fastcall

RESOLVED FIXED in mozilla25

Status

()

Core
XPCOM
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: Ehsan, Assigned: glandium)

Tracking

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

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 1 obsolete attachment)

(Reporter)

Description

5 years ago
e:\builds\moz2_slave\date-w64-000000000000000000000\build\xpcom\glue\nsThreadUtils.h(330) : error C2953: 'nsRunnableMethodTraits<R(__cdecl C::* )(void),Owning>' : class template has already been defined
e:\builds\moz2_slave\date-w64-000000000000000000000\build\xpcom\glue\nsThreadUtils.h(330) : error C2953: 'nsRunnableMethodTraits<R(__cdecl C::* )(void),Owning>' : class template has already been defined 

https://tbpl.mozilla.org/?tree=Date&rev=604c8518cc50
(Reporter)

Updated

5 years ago
Blocks: 880004

Comment 2

5 years ago
Wouldn't it make more sense to wrap the #defined NS_HAVE_STDCALL in an ifndef WIN64 block so that people don't run into this again?
Comment on attachment 777352 [details] [diff] [review]
Patch (v1)

Looks fine, though I also like just not defining NS_HAVE_STDCALL as Neil suggests. (This is literally the only use of NS_HAVE_STDCALL in the tree.)
Attachment #777352 - Flags: review?(vladimir) → review+
(Reporter)

Comment 4

5 years ago
That feels a bit wrong to me, since the __stdcall keyword is still there, it's just ignored by the compiler for codegen and template resolution.  But the argument that this will recur in the future is probably correct.  I guess I'll do that then.
(Reporter)

Comment 5

5 years ago
Created attachment 777459 [details] [diff] [review]
For check-in
Attachment #777352 - Attachment is obsolete: true
(Reporter)

Updated

5 years ago
Keywords: checkin-needed

Updated

5 years ago
Blocks: 838803
Thanks ehsan
(Assignee)

Comment 7

5 years ago
If WIN64 ignores __stdcall, why keep NS_STDCALL non-empty on WIN64?
(Assignee)

Comment 8

5 years ago
(In reply to Mike Hommey [:glandium] from comment #7)
> If WIN64 ignores __stdcall, why keep NS_STDCALL non-empty on WIN64?

At least it wouldn't feel weird to have NS_STDCALL saying one thing and NS_HAVE_STDCALL saying another.
https://hg.mozilla.org/mozilla-central/rev/8bc7cd7071b2
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
(Assignee)

Comment 11

5 years ago
Created attachment 778208 [details] [diff] [review]
Set NS_STDCALL to nothing on WIN64

cf. comment 7 and 8.
Attachment #778208 - Flags: review?(ehsan)
(Assignee)

Updated

5 years ago
Assignee: ehsan → mh+mozilla
(Reporter)

Updated

5 years ago
Attachment #778208 - Flags: review?(ehsan) → review+
You need to log in before you can comment on or make changes to this bug.