Closed Bug 292396 Opened 19 years ago Closed 13 years ago

JS_VERSION 120 doesn't build

Categories

(Core :: JavaScript Engine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: timeless, Assigned: timeless)

References

Details

Attachments

(1 file)

cl -FoWINNT5.1_DBG.OBJ/ -c /MD /Od /Z7  -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32
-D_WINDOWS -D_WIN32 /nologo /W3 /FpWINNT5.1_DBG.OBJ/js.pch  -DDEBUG
-DDEBUG_timeless -DJS_VERSION=120   /Op -DEXPORT_JS_API jsfun.c
jsfun.c
jsfun.c(1491) : warning C4013: 'fun_call' undefined; assuming extern returning int

cl -FoWINNT5.1_DBG.OBJ/ -c /MD /Od /Z7  -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32
-D_WINDOWS -D_WIN32 /nologo /W3 /FpWINNT5.1_DBG.OBJ/js.pch  -DDEBUG
-DDEBUG_timeless -DJS_VERSION=120   /Op -DEXPORT_JS_API jsinterp.c
jsinterp.c
jsinterp.c(5469) : error C2094: label 'do_JSOP_INITCATCHVAR' was undefined

cl -FoWINNT5.1_DBG.OBJ/ -c /MD /Od /Z7  -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D
_WINDOWS -D_WIN32 /nologo /W3 /FpWINNT5.1_DBG.OBJ/js.pch  -DDEBUG
-DDEBUG_timeless -DJS_VERSION=120   /Op -DEXPORT_JS_API jsobj.c
jsobj.c
jsobj.c(2267) : warning C4101: 'prop' : unreferenced local variable
cl -FoWINNT5.1_DBG.OBJ/ -c /MD /Od /Z7  -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D
_WINDOWS -D_WIN32 /nologo /W3 /FpWINNT5.1_DBG.OBJ/js.pch  -DDEBUG
-DDEBUG_timeless -DJS_VERSION=120   /Op -DEXPORT_JS_API jsopcode.c
jsopcode.c
jsopcode.c(1863) : warning C4102: 'do_getprop' : unreferenced label
cl -FoWINNT5.1_DBG.OBJ/ -c /MD /Od /Z7  -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D
_WINDOWS -D_WIN32 /nologo /W3 /FpWINNT5.1_DBG.OBJ/js.pch  -DDEBUG
-DDEBUG_timeless -DJS_VERSION=120   /Op -DEXPORT_JS_API jsparse.c
jsparse.c
jsparse.c(3019) : warning C4101: 'oldflags' : unreferenced local variable

link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib /nologo
/subsystem:windows /dll /debug /pdb:none /machine:I386 /opt:ref /opt:noicf
/base:0x61000000 fdlibm/WINNT5.1_DBG.OBJ/fdlibm.lib \
    /out:"WINNT5.1_DBG.OBJ/js32.dll" /pdb:none\
    /implib:"WINNT5.1_DBG.OBJ/js32.lib" WINNT5.1_DBG.OBJ/jsapi.obj
WINNT5.1_DBG.OBJ/jsarena.obj WINNT5.1_DBG.OBJ/jsarray.obj
WINNT5.1_DBG.OBJ/jsatom.obj WINNT5.1_DBG.OBJ/jsbool.obj
WINNT5.1_DBG.OBJ/jscntxt.obj WINNT5.1_DBG.OBJ/jsdate.obj
WINNT5.1_DBG.OBJ/jsdbgapi.obj WINNT5.1_DBG.OBJ/jsdhash.obj
WINNT5.1_DBG.OBJ/jsdtoa.obj WINNT5.1_DBG.OBJ/jsemit.obj
WINNT5.1_DBG.OBJ/jsexn.obj WINNT5.1_DBG.OBJ/jsfun.obj WINNT5.1_DBG.OBJ/jsgc.obj
WINNT5.1_DBG.OBJ/jshash.obj WINNT5.1_DBG.OBJ/jsinterp.obj
WINNT5.1_DBG.OBJ/jslock.obj WINNT5.1_DBG.OBJ/jslog2.obj
WINNT5.1_DBG.OBJ/jslong.obj WINNT5.1_DBG.OBJ/jsmath.obj
WINNT5.1_DBG.OBJ/jsnum.obj WINNT5.1_DBG.OBJ/jsobj.obj
WINNT5.1_DBG.OBJ/jsopcode.obj WINNT5.1_DBG.OBJ/jsparse.obj
WINNT5.1_DBG.OBJ/jsprf.obj WINNT5.1_DBG.OBJ/jsregexp.obj
WINNT5.1_DBG.OBJ/jsscan.obj WINNT5.1_DBG.OBJ/jsscope.obj
WINNT5.1_DBG.OBJ/jsscript.obj WINNT5.1_DBG.OBJ/jsstr.obj
WINNT5.1_DBG.OBJ/jsutil.obj WINNT5.1_DBG.OBJ/jsxdrapi.obj
WINNT5.1_DBG.OBJ/jsxml.obj WINNT5.1_DBG.OBJ/prmjtime.obj
   Creating library WINNT5.1_DBG.OBJ/js32.lib and object WINNT5.1_DBG.OBJ/js32.exp
jsatom.obj : error LNK2001: unresolved external symbol _js_Error_str
jsfun.obj : error LNK2001: unresolved external symbol _js_PutArgsObject
jsfun.obj : error LNK2001: unresolved external symbol _js_GetArgsObject
jsinterp.obj : error LNK2001: unresolved external symbol _js_GetArgsObject
jsfun.obj : error LNK2001: unresolved external symbol _js_ArgumentsClass
jsfun.obj : error LNK2001: unresolved external symbol _fun_call
jsinterp.obj : error LNK2001: unresolved external symbol _js_GetArgsProperty
jsinterp.obj : error LNK2001: unresolved external symbol _js_GetArgsValue
WINNT5.1_DBG.OBJ/js32.dll : fatal error LNK1120: 7 unresolved externals
Assignee: general → timeless
Status: UNCONFIRMED → ASSIGNED
Attachment #182210 - Flags: review?(brendan)
Depends on: 292397
Blocks: 292392
Comment on attachment 182210 [details] [diff] [review]
1.2 specific changes to get the build happy (must be applied after 1.3 and 1.4)

>           case JSOP_PUSHOBJ:
>-            if (obj == LAZY_ARGS_THISP && !(obj = js_GetArgsObject(cx, fp))) {
>+            if (obj == LAZY_ARGS_THISP
>+#if JS_HAS_ARGS_OBJECT
>+              && !(obj = js_GetArgsObject(cx, fp))
>+#endif
>+              ) {
>                 ok = JS_FALSE;

You've just created a silent failure for JS1.[0-2].  Don't do that, and don't
put #if JS_HAS_ARGS_OBJECT around the JSOP_*ARG* bytecodes -- those are
generated for all versions (you didn't patch jsemit.c to change this fact; you
shouldn't).

I think it would actually be much better to get rid of JS_HAS_ARGS_OBJECT. 
It's misnamed (JS always had some kind of arguments object, even if it differed
from what ECMA spec'ed in 1997).

The changes unrelated to JS_HAS_ARGS_OBJECT look ok to me.

Since we don't test-build all configs, and I'm not doing that on my own time,
as I once did, I am thinking the only useful jsconfig.h configurations are the
ECMA-pure and current ("1.5", a moving target) ones.  Comments?

/be
Attachment #182210 - Flags: review?(brendan) → review-
Flags: testcase-
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: