Skip to content
Permalink
Browse files
[MSVC] X86Assembler.h(108): error C2666: 'WebCore::operator -': 7 ove…
…rloads have similar conversions

https://bugs.webkit.org/show_bug.cgi?id=189467
<rdar://problem/44290945>

Reviewed by Mark Lam.

This issue has happened several times. And, it seems that it will
take more time for Microsoft to fix the MSVC bug. We need a
effective workaround not to repeat this issue until they fix MSVC.

Remove ": int8_t" of RegisterID only for COMPILER(MSVC).

* assembler/X86Assembler.h: Added JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE macro.

Canonical link: https://commits.webkit.org/206562@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
fujii committed Nov 20, 2018
1 parent a89f6cf commit be600d6dfbbba4b33a56912eb964b1391523b95c
Showing with 25 additions and 3 deletions.
  1. +16 −0 Source/JavaScriptCore/ChangeLog
  2. +9 −3 Source/JavaScriptCore/assembler/X86Assembler.h
@@ -1,3 +1,19 @@
2018-11-19 Fujii Hironori <Hironori.Fujii@sony.com>

[MSVC] X86Assembler.h(108): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
https://bugs.webkit.org/show_bug.cgi?id=189467
<rdar://problem/44290945>

Reviewed by Mark Lam.

This issue has happened several times. And, it seems that it will
take more time for Microsoft to fix the MSVC bug. We need a
effective workaround not to repeat this issue until they fix MSVC.

Remove ": int8_t" of RegisterID only for COMPILER(MSVC).

* assembler/X86Assembler.h: Added JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE macro.

2018-11-19 Yusuke Suzuki <yusukesuzuki@slowstart.org>

[WebAssembly] I64 arguments / return value check should be moved from callWebAssemblyFunction to JSToWasm wrapper
@@ -41,7 +41,13 @@ inline bool CAN_SIGN_EXTEND_8_32(int32_t value) { return value == (int32_t)(sign

namespace X86Registers {

typedef enum : int8_t {
#if COMPILER(MSVC)
#define JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE
#else
#define JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE : int8_t
#endif

typedef enum JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE {
eax,
ecx,
edx,
@@ -63,12 +69,12 @@ typedef enum : int8_t {
InvalidGPRReg = -1,
} RegisterID;

typedef enum : int8_t {
typedef enum JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE {
eip,
eflags
} SPRegisterID;

typedef enum : int8_t {
typedef enum JSC_X86_ASM_REGISTER_ID_ENUM_BASE_TYPE {
xmm0,
xmm1,
xmm2,

0 comments on commit be600d6

Please sign in to comment.