Visual Studio 2017 fails to compile SM headers
Categories
(Core :: JavaScript: GC, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox91 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 2 obsolete files)
We apparently didn't actually fix the issue in Bug 1679736. At the root of the problem is are some reinterpret_casts which I do not like so I have a few patches to remove the RootListEntry
type in favour of an appropriate untemplated base type. This has the side effect of preventing MSVC from freaking out too.
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Add a common base type for all PersistentRooted instead of relying on undefined
reinterpret_casts. This avoids PersistentRooted<RootListEntry*> which causes
potential issues when SpiderMonkey is used in a project compiled under MSVC. The
static_cast is still unchecked so the same care needs to be taken as before.
Depends on D117603
Assignee | ||
Comment 3•4 years ago
|
||
Add a common base type with the template parameter erased. This lets us remove
the RootListEntry type and the undefined reinterpret_casts it is using.
Depends on D117604
Comment 6•4 years ago
•
|
||
Backed out for causing jsreftest failures
Backout link: https://hg.mozilla.org/integration/autoland/rev/2c895de877c039bafccadccea349be9337ededf8
LE
Also causing xpc failures
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 7•4 years ago
|
||
When compiling spidermonkey public APIs under MSVC, the dummy type RootListEntry
needs a GCPolicy even though it is not instantiated.
Assignee | ||
Comment 8•4 years ago
|
||
In order to get something into ESR-91, I'll just use the minimal hack. The refactoring patches ran into issues with RootedTraceable and more design work is ndeeded there.
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2e52e5e4b021
https://hg.mozilla.org/mozilla-central/rev/416ef98b0533
Description
•