From 2d96d812ebe5067e6d14741f56283de3b0574587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Tue, 9 Oct 2018 17:22:40 +0300 Subject: [core] don't inline convert() calls to reduce binary size --- include/mbgl/style/conversion_impl.hpp | 3 ++- include/mbgl/util/util.hpp | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/mbgl/style/conversion_impl.hpp b/include/mbgl/style/conversion_impl.hpp index 27b2ee1917..1ce630f43b 100644 --- a/include/mbgl/style/conversion_impl.hpp +++ b/include/mbgl/style/conversion_impl.hpp @@ -4,6 +4,7 @@ #include #include #include +#include #include @@ -293,7 +294,7 @@ private: }; template -optional convert(const Convertible& value, Error& error, Args&&...args) { +MBGL_NOINLINE optional convert(const Convertible& value, Error& error, Args&&...args) { return Converter()(value, error, std::forward(args)...); } diff --git a/include/mbgl/util/util.hpp b/include/mbgl/util/util.hpp index 7960b40299..b40b2a1938 100644 --- a/include/mbgl/util/util.hpp +++ b/include/mbgl/util/util.hpp @@ -19,3 +19,10 @@ #else #define MBGL_CONSTEXPR inline #endif + +// Control inlining +#ifdef _MSC_VER +#define MBGL_NOINLINE __declspec(noinline) +#else +#define MBGL_NOINLINE __attribute__((noinline)) +#endif -- cgit v1.2.1