Closed
Bug 569581
Opened 15 years ago
Closed 15 years ago
Wrong __stdcall check on win64.
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla2.0b1
People
(Reporter: jacek, Assigned: jacek)
References
Details
Attachments
(1 file)
1.25 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
I get following error when compiline on mingw-w64:
In file included from /home/jacek/mozilla-build/mozilla-central64/xpcom/glue/nsThreadUtils.cpp:39:0:
/home/jacek/mozilla-build/mozilla-central64/xpcom/glue/nsThreadUtils.h:323:8: error: redefinition of 'struct nsRunnableMethodTraits<R (C::*)(), Owning>'
/home/jacek/mozilla-build/mozilla-central64/xpcom/glue/nsThreadUtils.h:315:51: error: previous definition of 'struct nsRunnableMethodTraits<R (C::*)(), Owning>'
win64 ABI doesn't support stdcall and ignores __stdcall attributes, so it's a real redefinition. The definition is protected by #ifdef HAVE_STDCALL (and it's the only user of HAVE_STDCALL). The check in configure.in for stdcall wrongly successes on win64 (because the attribute is ignored):
void foo(); void __stdcall foo();
My proposed fix is inspired by the failure and checks for true __stdcall support using templates.
Assignee | ||
Updated•15 years ago
|
Attachment #448748 -
Attachment is patch: true
Attachment #448748 -
Flags: review?(ted.mielczarek)
Comment 1•15 years ago
|
||
Comment on attachment 448748 [details] [diff] [review]
fix v1.0
I don't have mingw handy to test with, but interestingly, VC++ (where we don't run these tests anyway), fails the old configure test with the 32-bit or 64-bit compiler, but passes your new test on 32-bit.
Attachment #448748 -
Flags: review?(ted.mielczarek) → review+
Updated•15 years ago
|
Assignee: nobody → jacek
Comment 3•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a6
Comment 4•15 years ago
|
||
Very cool, Jacek. Thanks for doing this the right way.
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•