From 043fd2d2e544537a9634a1f0bf591bf1ba8a01d9 Mon Sep 17 00:00:00 2001 From: Dimitar Trendafilov Date: Mon, 13 Sep 2021 23:19:50 +0300 Subject: Fix build with Visual Studio --- gctest/genie.lua | 3 +++ gctest/main.cpp | 7 +++---- gctest/minitrace.cpp | 1 + gctest/minitrace/minitrace.c | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 gctest/minitrace.cpp diff --git a/gctest/genie.lua b/gctest/genie.lua index a1f17f7..5ebdb84 100644 --- a/gctest/genie.lua +++ b/gctest/genie.lua @@ -13,6 +13,7 @@ solution 'gctest' } defines { '_SCL_SECURE_NO_WARNINGS', + '_CRT_SECURE_NO_WARNINGS', 'MTR_ENABLED', } @@ -37,7 +38,9 @@ solution 'gctest' language 'C++' files { 'main.cpp', + 'minitrace.cpp', } + removeflags 'ExtraWarnings' project 'leak_gc' kind 'ConsoleApp' diff --git a/gctest/main.cpp b/gctest/main.cpp index d28ca09..dd9a137 100644 --- a/gctest/main.cpp +++ b/gctest/main.cpp @@ -8,7 +8,6 @@ #include #include "weighted_action.h" -#include "minitrace/minitrace.c" #include "minitrace/minitrace.h" #include "gc.h" @@ -38,7 +37,7 @@ class LeafObject : public RecycledObject public: LeafObject(unsigned size) : m_Size(size) { - std::fill(m_Extra, m_Extra + size, 0xab); + std::fill(m_Extra, m_Extra + size, uint8_t(0xab)); } ~LeafObject() {} @@ -173,7 +172,7 @@ struct SizeDistribution template unsigned operator()(G& g) const { - auto r = m_Dist(g); + auto r = unsigned(m_Dist(g)); return (m_Min < r) ? (r < m_Max ? r : m_Max) : m_Min; } @@ -385,7 +384,7 @@ int main(int argc, char* argv[]) if (RecycledObject::Alive) { std::fprintf(stderr, "%lld objects leaked\n", - (size_t)RecycledObject::Alive); + (uint64_t)RecycledObject::Alive); } mtr_shutdown(); diff --git a/gctest/minitrace.cpp b/gctest/minitrace.cpp new file mode 100644 index 0000000..4b96ae6 --- /dev/null +++ b/gctest/minitrace.cpp @@ -0,0 +1 @@ +#include "minitrace/minitrace.c" diff --git a/gctest/minitrace/minitrace.c b/gctest/minitrace/minitrace.c index 3d8e7fd..d0cec8f 100644 --- a/gctest/minitrace/minitrace.c +++ b/gctest/minitrace/minitrace.c @@ -472,7 +472,7 @@ void internal_mtr_raw_event_arg(const char *category, const char *name, char ph, switch (arg_type) { case MTR_ARG_TYPE_INT: ev->a_int = (int)(uintptr_t)arg_value; break; case MTR_ARG_TYPE_STRING_CONST: ev->a_str = (const char*)arg_value; break; - case MTR_ARG_TYPE_STRING_COPY: ev->a_str = strdup((const char*)arg_value); break; + case MTR_ARG_TYPE_STRING_COPY: ev->a_str = _strdup((const char*)arg_value); break; case MTR_ARG_TYPE_NONE: break; } -- cgit v1.3.1-23-gd82d