Closed Bug 1079068 Opened 10 years ago Closed 10 years ago

jsinfer.h:547:17: warning: inline function 'js::types::TypeSet::hasType' is not defined [-Wundefined-inline]

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: dholbert, Assigned: bbouvier)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

New build warning in the JS engine:
{
In file included from $SRCDIR/js/src/frontend/Parser.cpp:20:
In file included from $SRCDIR/js/src/frontend/Parser-inl.h:10:
In file included from $SRCDIR/js/src/frontend/Parser.h:17:
In file included from $SRCDIR/js/src/frontend/FullParseHandler.h:12:
In file included from $SRCDIR/js/src/frontend/ParseNode.h:12:
In file included from $SRCDIR/js/src/frontend/TokenStream.h:20:
In file included from $SRCDIR/js/src/jscntxt.h:15:
In file included from $SRCDIR/js/src/vm/Runtime.h:26:
In file included from $SRCDIR/js/src/jsscript.h:23:
In file included from $SRCDIR/js/src/jit/IonCode.h:14:
Warning: -Wundefined-inline in $SRCDIR/js/src/jsinfer.h: inline function 'js::types::TypeSet::hasType' is not defined
$SRCDIR/js/src/jsinfer.h:547:17: warning: inline function 'js::types::TypeSet::hasType' is not defined [-Wundefined-inline]
    inline bool hasType(Type type) const;
                ^
$SRCDIR/js/src/jit/MIR.h:606:53: note: used here
        return !resultTypeSet() || resultTypeSet()->hasType(types::Type::MagicArgType());
}

Pretty sure this is a new warning as of the past day or few days.

I hit this in a debug build, with clang 3.5 on Ubuntu 14.10. (though I expect it should be reported by other clang versions on other OS's as well)
This happens because hasType() is declared in jsinfer.h, defined in jsinferinlines.h, but in this case used in a file (MIR.h) which has included jsinfer.h but not jsinferinlines.h. Two possible fixes:
1) Include jsinferinlines.h in MIR.h => for just one function? sounds bad.
2) Move this method definition to MIR.cpp, which already includes jsinferinlines.h => sounds good => that's what this patch does.
Assignee: nobody → benj
Status: NEW → ASSIGNED
Attachment #8501755 - Flags: review?(hv1989)
Depends on: 1075967
Comment on attachment 8501755 [details] [diff] [review]
Move mightBeMagicType in MIR.cpp

Review of attachment 8501755 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks!
Attachment #8501755 - Flags: review?(hv1989) → review+
https://hg.mozilla.org/mozilla-central/rev/aea1690f5947
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.