Skip to content

Commit 7f8e213

Browse files
authored
Fix windows build error and compilation warnings (#3095)
Fix wamrc build error reported on Windows: ```bash CMake Error at CMakeLists.txt:84 (message): Unsupported CMAKE_HOST_SYSTEM_PROCESSOR AMD64 ``` And clear several compilation warnings.
1 parent b98f150 commit 7f8e213

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

core/iwasm/common/wasm_c_api.c

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1934,8 +1934,8 @@ wasm_frame_vec_clone_internal(Vector *src, Vector *out)
19341934
return;
19351935
}
19361936

1937-
bh_memcpy_s(out->data, src->num_elems * sizeof(WASMCApiFrame), src->data,
1938-
src->num_elems * sizeof(WASMCApiFrame));
1937+
bh_memcpy_s(out->data, (uint32)(src->num_elems * sizeof(WASMCApiFrame)),
1938+
src->data, (uint32)(src->num_elems * sizeof(WASMCApiFrame)));
19391939
out->num_elems = src->num_elems;
19401940
}
19411941

@@ -2962,8 +2962,10 @@ wasm_func_new_basic(wasm_store_t *store, const wasm_functype_t *type,
29622962
if (!(func->type = wasm_functype_copy(type))) {
29632963
goto failed;
29642964
}
2965-
func->param_count = func->type->params->num_elems;
2966-
func->result_count = func->type->results->num_elems;
2965+
/* func type's param_count and result_count were checked in
2966+
loader and are no larger than UINT16_MAX */
2967+
func->param_count = (uint16)func->type->params->num_elems;
2968+
func->result_count = (uint16)func->type->results->num_elems;
29672969

29682970
RETURN_OBJ(func, wasm_func_delete)
29692971
}
@@ -2994,8 +2996,10 @@ wasm_func_new_with_env_basic(wasm_store_t *store, const wasm_functype_t *type,
29942996
if (!(func->type = wasm_functype_copy(type))) {
29952997
goto failed;
29962998
}
2997-
func->param_count = func->type->params->num_elems;
2998-
func->result_count = func->type->results->num_elems;
2999+
/* func type's param_count and result_count were checked in
3000+
loader and are no larger than UINT16_MAX */
3001+
func->param_count = (uint16)func->type->params->num_elems;
3002+
func->result_count = (uint16)func->type->results->num_elems;
29993003

30003004
RETURN_OBJ(func, wasm_func_delete)
30013005
}
@@ -3085,8 +3089,10 @@ wasm_func_new_internal(wasm_store_t *store, uint16 func_idx_rt,
30853089
if (!func->type) {
30863090
goto failed;
30873091
}
3088-
func->param_count = func->type->params->num_elems;
3089-
func->result_count = func->type->results->num_elems;
3092+
/* func type's param_count and result_count were checked in
3093+
loader and are no larger than UINT16_MAX */
3094+
func->param_count = (uint16)func->type->params->num_elems;
3095+
func->result_count = (uint16)func->type->results->num_elems;
30903096

30913097
/* will add name information when processing "exports" */
30923098
func->store = store;

wamr-compiler/CMakeLists.txt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,30 +59,31 @@ if (DEFINED WAMR_BUILD_AOT_FUNC_PREFIX)
5959
endif ()
6060

6161
if (NOT WAMR_BUILD_TARGET)
62-
if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
62+
string(TOLOWER "${CMAKE_HOST_SYSTEM_PROCESSOR}" HOST_SYSTEM_PROCESSOR)
63+
if (${HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
6364
set (WAMR_BUILD_TARGET "X86_64")
64-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "i686")
65+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "i686")
6566
set (WAMR_BUILD_TARGET "X86_32")
66-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "amd64")
67+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "amd64")
6768
set (WAMR_BUILD_TARGET "AMD_64")
68-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64"
69-
OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
69+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "aarch64"
70+
OR ${HOST_SYSTEM_PROCESSOR} STREQUAL "arm64")
7071
set (WAMR_BUILD_TARGET "AARCH64")
71-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm.*")
72+
elseif (${HOST_SYSTEM_PROCESSOR} MATCHES "arm.*")
7273
message(STATUS "Assuming ${CMAKE_HOST_SYSTEM_PROCESSOR} as ARM_32")
7374
set (WAMR_BUILD_TARGET "ARM_32")
74-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "mips")
75+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "mips")
7576
set (WAMR_BUILD_TARGET "MIPS_32")
76-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "xtensa")
77+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "xtensa")
7778
set (WAMR_BUILD_TARGET "XTENSA_32")
78-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv64")
79+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "riscv64")
7980
set (WAMR_BUILD_TARGET "RISCV64")
80-
elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv")
81+
elseif (${HOST_SYSTEM_PROCESSOR} STREQUAL "riscv")
8182
message(STATUS "Assuming ${CMAKE_HOST_SYSTEM_PROCESSOR} as RISCV32")
8283
set (WAMR_BUILD_TARGET "RISCV32")
8384
else ()
8485
message (FATAL_ERROR "Unsupported CMAKE_HOST_SYSTEM_PROCESSOR "
85-
"${CMAKE_HOST_SYSTEM_PROCESSOR}")
86+
"${CMAKE_HOST_SYSTEM_PROCESSOR}")
8687
endif()
8788

8889
if (WAMR_BUILD_PLATFORM STREQUAL "windows")

0 commit comments

Comments
 (0)