diff --git a/CMakeLists.txt b/CMakeLists.txt index df8081f05..ac05c91c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,9 +126,9 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) add_library(boost_libs INTERFACE) -find_package(Boost 1.66.0 QUIET) +find_package(Boost 1.70.0 QUIET EXACT) if (NOT Boost_FOUND) - message(STATUS "Boost 1.66.0 or newer not found, falling back to externals") + message(STATUS "Boost 1.70.0 not found, falling back to externals") set(BOOST_ROOT "${PROJECT_SOURCE_DIR}/externals/boost") set(Boost_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/externals/boost") diff --git a/TODO b/TODO index be118365d..45e6ae3b7 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,8 @@ ✔ Memory @done(19-08-13 15:41) ☐ Page tables ☐ Skip N3DS RAM if unused -☐ DSP +✔ DSP @done(19-12-28 16:57) + Memory only ✔ Service manager @started(19-12-23 00:36) @done(19-12-23 11:38) @lasted(11h2m3s) ✔ Fix or ignore inverse map @done(19-12-23 12:46) ☐ App loader diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4a4c39f17..c13337efe 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -33,7 +33,6 @@ if (MSVC) # /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null add_compile_options( /W3 - /MP /Zi /Zo /permissive- @@ -42,8 +41,13 @@ if (MSVC) /volatile:iso /Zc:externConstexpr /Zc:inline - /Zc:throwingNew ) + if (CMAKE_C_COMPILER_ID MATCHES "MSVC") + add_compile_options( + /MP + /Zc:throwingNew + ) + endif() # /GS- - No stack buffer overflow checks add_compile_options("$<$:/GS->") diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index ac745d868..39ddffbcc 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -96,7 +96,6 @@ add_library(common STATIC serialization/boost_discrete_interval.hpp serialization/boost_flat_set.h serialization/boost_vector.hpp - serialization/optional.h string_util.cpp string_util.h swap.h diff --git a/src/common/serialization/optional.h b/src/common/serialization/optional.h deleted file mode 100644 index 4e794058e..000000000 --- a/src/common/serialization/optional.h +++ /dev/null @@ -1,76 +0,0 @@ -#pragma once - -#include - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// function specializations must be defined in the appropriate -// namespace - boost::serialization -namespace boost { -namespace serialization { - -template -void save(Archive& ar, const std::optional& t, const unsigned int /*version*/ -) { -// It is an inherent limitation to the serialization of optional.hpp -// that the underlying type must be either a pointer or must have a -// default constructor. It's possible that this could change sometime -// in the future, but for now, one will have to work around it. This can -// be done by serialization the optional as optional -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) - BOOST_STATIC_ASSERT(boost::serialization::detail::is_default_constructible::value || - boost::is_pointer::value); -#endif - const bool tflag = t.has_value(); - ar << boost::serialization::make_nvp("initialized", tflag); - if (tflag) { - ar << boost::serialization::make_nvp("value", *t); - } -} - -template -void load(Archive& ar, std::optional& t, const unsigned int version) { - bool tflag; - ar >> boost::serialization::make_nvp("initialized", tflag); - if (!tflag) { - t.reset(); - return; - } - - if (0 == version) { - boost::serialization::item_version_type item_version(0); - boost::archive::library_version_type library_version(ar.get_library_version()); - if (boost::archive::library_version_type(3) < library_version) { - ar >> BOOST_SERIALIZATION_NVP(item_version); - } - } - if (!t.has_value()) - t = T(); - ar >> boost::serialization::make_nvp("value", *t); -} - -template -void serialize(Archive& ar, std::optional& t, const unsigned int version) { - boost::serialization::split_free(ar, t, version); -} - -template -struct version> { - BOOST_STATIC_CONSTANT(int, value = 1); -}; - -} // namespace serialization -} // namespace boost diff --git a/src/core/hle/service/apt/applet_manager.h b/src/core/hle/service/apt/applet_manager.h index 0f28e57c8..7260fb2d3 100644 --- a/src/core/hle/service/apt/applet_manager.h +++ b/src/core/hle/service/apt/applet_manager.h @@ -8,8 +8,8 @@ #include #include #include -#include #include +#include #include "core/global.h" #include "core/hle/kernel/event.h" #include "core/hle/result.h"