https://bugs.winehq.org/show_bug.cgi?id=50845 --- Comment #1 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- The problem is caused by difference in the code, generated by clang and gcc for jsdisp_define_data_property() for storing the jsval_t value: clang generates fldl + fstpl while gcc uses ordinal movl instructions. That leads to the following (with additional debug output): clang: 0024:err:jscript:init_global NAN: v = 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 1: NaN: 7ff8000000000000 => tag 0x7ff80000, jsval_type() = 0x7ff80000 2: NaN: 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 0024:err:jscript:jsdisp_define_property L"NaN", v = 7ff80000ffffffff => tag 0x7ff80000, jsval_type() = 0x7ff80000 0024:err:jscript:jsval_copy v = 7ff80000ffffffff => tag 0x7ff80000, jsval_type() = 0x7ff80000 Assertion failed: 0, file ../wine.src/dlls/jscript/jsutils.c, line 247 gcc: 0024:err:jscript:init_global NAN: v = 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 1: NaN: 7ff8000000000000 => tag 0x7ff80000, jsval_type() = 0x7ff80000 2: NaN: 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 0024:err:jscript:jsdisp_define_property L"NaN", v = 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 0024:err:jscript:jsval_copy v = 7ff00000ffffffff => tag 0x7ff00000, jsval_type() = 0x7ff80005 Adding 'ULONGLONG ull;' to struct _jsval_t definition forces clang to use movl instead of fldl + fstpl like gcc does, and fixes the problem. I'll attach the diff here. Jacek, what do you think? Is that an acceptable solution? Is there a concern that there might be more places in Wine that suffer from the same problem? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.