Merge pull request #4456 from hummeltech/GCC14

Fix building with GCC 14
This commit is contained in:
Artem Pavlenko 2024-07-15 15:54:03 +01:00 committed by GitHub
commit 5e7b478627
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View file

@ -26,6 +26,8 @@
#include <mapnik/geometry/polygon.hpp> #include <mapnik/geometry/polygon.hpp>
#include <boost/fusion/include/adapt_struct.hpp> #include <boost/fusion/include/adapt_struct.hpp>
#include <cstdint>
BOOST_FUSION_ADAPT_STRUCT(mapnik::geometry::point<double>, (double, x)(double, y)) BOOST_FUSION_ADAPT_STRUCT(mapnik::geometry::point<double>, (double, x)(double, y))
BOOST_FUSION_ADAPT_STRUCT(mapnik::geometry::point<std::int64_t>, (std::int64_t, x)(std::int64_t, y)) BOOST_FUSION_ADAPT_STRUCT(mapnik::geometry::point<std::int64_t>, (std::int64_t, x)(std::int64_t, y))

View file

@ -39,7 +39,11 @@
namespace mapnik { namespace mapnik {
template<typename T> template<typename T>
#ifdef _WIN32
class CreateUsingNew class CreateUsingNew
#else
class MAPNIK_DECL CreateUsingNew
#endif
{ {
public: public:
static T* create() { return new T; } static T* create() { return new T; }
@ -47,7 +51,11 @@ class CreateUsingNew
}; };
template<typename T> template<typename T>
#ifdef _WIN32
class CreateStatic class CreateStatic
#else
class MAPNIK_DECL CreateStatic
#endif
{ {
private: private:
using storage_type = typename std::aligned_storage<sizeof(T), alignof(T)>::type; using storage_type = typename std::aligned_storage<sizeof(T), alignof(T)>::type;