From 4aa644a2561fb100f0b80a6a2094f8707ad5f919 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 17 Jun 2010 01:48:39 -0400 Subject: [PATCH] vm: fix compile warnings on Windows and add /WX to Nmakefile to report warnings as errors so that mason can catch these in the future --- Nmakefile | 2 +- vm/contexts.cpp | 8 ++++---- vm/gc_info.cpp | 2 +- vm/gc_info.hpp | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Nmakefile b/Nmakefile index a8b7e103ec..5297e49171 100755 --- a/Nmakefile +++ b/Nmakefile @@ -5,7 +5,7 @@ BOOTIMAGE_VERSION = latest !IF DEFINED(PLATFORM) LINK_FLAGS = /nologo shell32.lib -CL_FLAGS = /nologo /O2 /W3 /D_CRT_SECURE_NO_WARNINGS +CL_FLAGS = /nologo /O2 /WX /W3 /D_CRT_SECURE_NO_WARNINGS !IF DEFINED(DEBUG) LINK_FLAGS = $(LINK_FLAGS) /DEBUG diff --git a/vm/contexts.cpp b/vm/contexts.cpp index 8ec3363662..8359e09307 100644 --- a/vm/contexts.cpp +++ b/vm/contexts.cpp @@ -62,14 +62,14 @@ void context::scrub_stacks(gc_info *info, cell index) { cell base = info->scrub_d_base(index); - for(cell loc = 0; loc < info->scrub_d_count; loc++) + for(int loc = 0; loc < info->scrub_d_count; loc++) { if(bitmap_p(bitmap,base + loc)) { #ifdef DEBUG_GC_MAPS std::cout << "scrubbing datastack location " << loc << std::endl; #endif - ((cell *)datastack)[-loc] = 0; + *((cell *)datastack - loc) = 0; } } } @@ -77,14 +77,14 @@ void context::scrub_stacks(gc_info *info, cell index) { cell base = info->scrub_r_base(index); - for(cell loc = 0; loc < info->scrub_r_count; loc++) + for(int loc = 0; loc < info->scrub_r_count; loc++) { if(bitmap_p(bitmap,base + loc)) { #ifdef DEBUG_GC_MAPS std::cout << "scrubbing retainstack location " << loc << std::endl; #endif - ((cell *)retainstack)[-loc] = 0; + *((cell *)retainstack - loc) = 0; } } } diff --git a/vm/gc_info.cpp b/vm/gc_info.cpp index b937d0a6ef..9a3252aa2c 100644 --- a/vm/gc_info.cpp +++ b/vm/gc_info.cpp @@ -7,7 +7,7 @@ int gc_info::return_address_index(cell return_address) { u32 *return_address_array = return_addresses(); - for(cell i = 0; i < return_address_count; i++) + for(int i = 0; i < return_address_count; i++) { if(return_address == return_address_array[i]) return i; diff --git a/vm/gc_info.hpp b/vm/gc_info.hpp index d5229a19a5..dbbe11b9d7 100644 --- a/vm/gc_info.hpp +++ b/vm/gc_info.hpp @@ -2,10 +2,10 @@ namespace factor { struct gc_info { - u32 scrub_d_count; - u32 scrub_r_count; - u32 gc_root_count; - u32 return_address_count; + int scrub_d_count; + int scrub_r_count; + int gc_root_count; + int return_address_count; cell total_bitmap_size() { -- 2.34.1