http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57729
Bug ID: 57729
Summary: Always inline: indirect function call with a yet
undetermined callee
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin.liska at gmail dot com
Latest firefox could not be compiled due to always inline error.
/ssd/firefox/js/src/jsapi.h: In function ‘js::regexp_exec(JSContext*, unsigned
int, JS::Value*)’:
/ssd/firefox/js/src/builtin/RegExp.cpp:307:1: error: inlining failed in call to
always_inline ‘IsRegExp(JS::Value const&)’: indirect function call with a yet
undetermined callee
IsRegExp(const Value &v)
^
In file included from /ssd/firefox/js/src/jsprvtd.h:24:0,
from /ssd/firefox/js/src/builtin/RegExp.h:10,
from /ssd/firefox/js/src/builtin/RegExp.cpp:7:
/ssd/firefox/js/src/jsapi.h:707:5: error: called from here
if (Test(thisv))
^
Code snippet:
JS_ALWAYS_INLINE bool
IsRegExp(const Value &v)
{
return v.isObject() && v.toObject().is<RegExpObject>();
}
JSBool
js::regexp_exec(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
return CallNonGenericMethod(cx, IsRegExp, regexp_exec_impl, args);
}
I found out that problematic commit is: 200179.