Non-unified builds (FPUF=1 set manually) don't work with my clang
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: Waldo, Assigned: Waldo)
Details
Attachments
(1 file)
Assignee | ||
Comment 1•6 years ago
|
||
Updated•6 years ago
|
Comment 3•6 years ago
|
||
Backed out changeset 0257181c4fe2 (bug 1598507) for Spidermonkey failures. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=277525392&repo=autoland&lineNumber=3297
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&revision=0257181c4fe257620f921992ccb98edf0313fcc1
Backout:
https://hg.mozilla.org/integration/autoland/rev/b2f7f1fef5e9ba65f01e456061cc95fc8a7338ac
Comment 4•6 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:Waldo, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 5•6 years ago
|
||
So:
[task 2019-12-07T05:57:40.874Z] In file included from Unified_cpp_js_src_shell0.cpp:2:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src/shell/OSObject.cpp:33:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\shell/jsshell.h:17:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\builtin/MapObject.h:11:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\vm/GlobalObject.h:32:
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\vm/JSContext.h(823,3): error: attribute 'dllexport' cannot be applied to member of 'dllexport' class
[task 2019-12-07T05:57:40.874Z] JS_FRIEND_API size_t
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\jstypes.h(52,25): note: expanded from macro 'JS_FRIEND_API'
[task 2019-12-07T05:57:40.874Z] # define JS_FRIEND_API MOZ_EXPORT
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] Z:/task_1575697319/src/obj-spider/dist/include/mozilla/Types.h(41,33): note: expanded from macro 'MOZ_EXPORT'
[task 2019-12-07T05:57:40.874Z] # define MOZ_EXPORT __declspec(dllexport)
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\vm/JSContext.h(154,8): note: previous attribute is here
[task 2019-12-07T05:57:40.874Z] struct JS_PUBLIC_API JSContext : public JS::RootingContext,
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\jstypes.h(50,25): note: expanded from macro 'JS_PUBLIC_API'
[task 2019-12-07T05:57:40.874Z] # define JS_PUBLIC_API MOZ_EXPORT
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] Z:/task_1575697319/src/obj-spider/dist/include/mozilla/Types.h(41,33): note: expanded from macro 'MOZ_EXPORT'
[task 2019-12-07T05:57:40.874Z] # define MOZ_EXPORT __declspec(dllexport)
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] In file included from Unified_cpp_js_src_shell0.cpp:2:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src/shell/OSObject.cpp:33:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\shell/jsshell.h:17:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\builtin/MapObject.h:11:
[task 2019-12-07T05:57:40.874Z] In file included from z:/task_1575697319/src/js/src\vm/GlobalObject.h:32:
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\vm/JSContext.h(837,3): error: attribute 'dllexport' cannot be applied to member of 'dllexport' class
[task 2019-12-07T05:57:40.874Z] JS_FRIEND_API void checkMallocGCPressure(void* p);
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\jstypes.h(52,25): note: expanded from macro 'JS_FRIEND_API'
[task 2019-12-07T05:57:40.874Z] # define JS_FRIEND_API MOZ_EXPORT
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] Z:/task_1575697319/src/obj-spider/dist/include/mozilla/Types.h(41,33): note: expanded from macro 'MOZ_EXPORT'
[task 2019-12-07T05:57:40.874Z] # define MOZ_EXPORT __declspec(dllexport)
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\vm/JSContext.h(154,8): note: previous attribute is here
[task 2019-12-07T05:57:40.874Z] struct JS_PUBLIC_API JSContext : public JS::RootingContext,
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] z:/task_1575697319/src/js/src\jstypes.h(50,25): note: expanded from macro 'JS_PUBLIC_API'
[task 2019-12-07T05:57:40.874Z] # define JS_PUBLIC_API MOZ_EXPORT
[task 2019-12-07T05:57:40.874Z] ^
[task 2019-12-07T05:57:40.874Z] Z:/task_1575697319/src/obj-spider/dist/include/mozilla/Types.h(41,33): note: expanded from macro 'MOZ_EXPORT'
[task 2019-12-07T05:57:40.874Z] # define MOZ_EXPORT __declspec(dllexport)
[task 2019-12-07T05:57:40.874Z] ^
This could be solved by removing the JS_FRIEND_API
from these member functions. But then I start wondering, isn't marking the entire class as public/friend going to mean every single function in it is going to be exported at library level? That can't possibly be the right action to take...can it?
This patch is sort of mostly fine, if I remove the redundant JS_FRIEND_API
on the member functions, I expect. But if we have really managed to slide into exporting every single member function in JSContext
, it feels like something has gone terribly wrong somewhere and we should be going home and rethinking our lives.
Updated•6 years ago
|
Assignee | ||
Comment 6•6 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&selectedJob=280776211&revision=7568dc29d8cfd5918d7bb00524147c074ca382af indicates that this patch should be good to land, roughly shortly -- probably because I did end up un-publicking those member functions in JSContext
. Will land once those prior patches are landed, just in case one of them is the cause of passingness and un-publicking happened not to be.
Comment 8•6 years ago
|
||
bugherder |
Description
•