Closed
Bug 885300
Opened 11 years ago
Closed 11 years ago
The number of 'inline function * not defined' warnings is Too Damn High
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla24
People
(Reporter: till, Assigned: till)
References
Details
Attachments
(2 files)
15.58 KB,
text/plain
|
Details | |
3.31 KB,
patch
|
n.nethercote
:
review+
|
Details | Diff | Splinter Review |
Attached is a list of warnings I currently get when compiling on OS X x64.
I bet 634839 introduced these, but others might be pre-existing, I dunno.
Idly, I wonder what kind of push would be needed to get us to a state where we can enable -Werror ...
Comment 1•11 years ago
|
||
The HeapSlot::{set,init} ones are known. They're caused by gc/Barrier-inl.h and vm/ObjectImpl-inl.h both depending on each other for several functions. That's on my todo list, but it's tricky.
I just fixed the js::ion::LIRGeneratorShared::temp one in bug 885214. It was caused by bug 880471.
I haven't seen the js::ToAtom<0> one on Linux. Which compiler did you use on OS X?
Summary: The amount of 'inline function * not defined' warnings is Too Damn High → The number of 'inline function * not defined' warnings is Too Damn High
Assignee | ||
Comment 2•11 years ago
|
||
Thanks for guiding me through this
Attachment #765709 -
Flags: review?(n.nethercote)
Assignee | ||
Updated•11 years ago
|
Assignee: general → tschneidereit
Comment 3•11 years ago
|
||
Comment on attachment 765709 [details] [diff] [review]
don't inline js::ToAtom
Review of attachment 765709 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jsatom.cpp
@@ +455,5 @@
> +template JSAtom *
> +js::ToAtom<CanGC>(JSContext *cx, HandleValue v);
> +
> +template JSAtom *
> +js::ToAtom<NoGC>(JSContext *cx, Value v);
Why are these two declarations needed?
Attachment #765709 -
Flags: review?(n.nethercote) → review+
Assignee | ||
Comment 4•11 years ago
|
||
Assignee | ||
Comment 5•11 years ago
|
||
> ::: js/src/jsatom.cpp
> @@ +455,5 @@
> > +template JSAtom *
> > +js::ToAtom<CanGC>(JSContext *cx, HandleValue v);
> > +
> > +template JSAtom *
> > +js::ToAtom<NoGC>(JSContext *cx, Value v);
>
> Why are these two declarations needed?
For posterity, here's roughly what I said on IRC: the declarations cause the template to be instantiated with these parameters. As the template isn't used in the .cpp file, it wouldn't be instantiated otherwise, and thus not be found during linking.
Comment 6•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in
before you can comment on or make changes to this bug.
Description
•