diff options
-rw-r--r-- | include/mbgl/style/conversion_impl.hpp | 3 | ||||
-rw-r--r-- | include/mbgl/util/util.hpp | 7 |
2 files changed, 9 insertions, 1 deletions
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 <mbgl/util/optional.hpp> #include <mbgl/util/feature.hpp> #include <mbgl/util/geojson.hpp> +#include <mbgl/util/util.hpp> #include <string> @@ -293,7 +294,7 @@ private: }; template <class T, class...Args> -optional<T> convert(const Convertible& value, Error& error, Args&&...args) { +MBGL_NOINLINE optional<T> convert(const Convertible& value, Error& error, Args&&...args) { return Converter<T>()(value, error, std::forward<Args>(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 |