diff --git a/include/msgpack/v1/adaptor/carray.hpp b/include/msgpack/v1/adaptor/carray.hpp index 323ece00..8fff4468 100644 --- a/include/msgpack/v1/adaptor/carray.hpp +++ b/include/msgpack/v1/adaptor/carray.hpp @@ -169,7 +169,7 @@ struct object_with_zone { char const* p2 = static_cast(std::memchr(p, '\0', size)); uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(adjusted_size)); + char* ptr = static_cast(o.zone.allocate_align(adjusted_size, MSGPACK_ZONE_ALIGNOF(char))); o.via.str.ptr = ptr; o.via.str.size = adjusted_size; std::memcpy(ptr, p, adjusted_size); @@ -184,7 +184,7 @@ struct object_with_zone { char const* p2 = static_cast(std::memchr(p, '\0', size)); uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(adjusted_size)); + char* ptr = static_cast(o.zone.allocate_align(adjusted_size, MSGPACK_ZONE_ALIGNOF(char))); o.via.str.ptr = ptr; o.via.str.size = adjusted_size; std::memcpy(ptr, p, adjusted_size); @@ -196,7 +196,7 @@ struct object_with_zone { void operator()(msgpack::object::with_zone& o, const unsigned char(&v)[N]) const { uint32_t size = checked_get_container_size(N); o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; o.via.bin.size = size; std::memcpy(ptr, v, size); @@ -208,7 +208,7 @@ struct object_with_zone { void operator()(msgpack::object::with_zone& o, const unsigned char(&v)[N]) const { uint32_t size = checked_get_container_size(N); o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; o.via.bin.size = size; std::memcpy(ptr, v, size); diff --git a/include/msgpack/v1/adaptor/char_ptr.hpp b/include/msgpack/v1/adaptor/char_ptr.hpp index 4e6919b8..a405fa3c 100644 --- a/include/msgpack/v1/adaptor/char_ptr.hpp +++ b/include/msgpack/v1/adaptor/char_ptr.hpp @@ -41,7 +41,7 @@ struct object_with_zone { void operator()(msgpack::object::with_zone& o, const char* v) const { uint32_t size = checked_get_container_size(std::strlen(v)); o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.str.ptr = ptr; o.via.str.size = size; std::memcpy(ptr, v, size); diff --git a/include/msgpack/v1/adaptor/cpp11/array_char.hpp b/include/msgpack/v1/adaptor/cpp11/array_char.hpp index a44c0aff..865e77eb 100644 --- a/include/msgpack/v1/adaptor/cpp11/array_char.hpp +++ b/include/msgpack/v1/adaptor/cpp11/array_char.hpp @@ -79,7 +79,7 @@ struct object_with_zone> { void operator()(msgpack::object::with_zone& o, const std::array& v) const { uint32_t size = checked_get_container_size(v.size()); o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; o.via.bin.size = size; std::memcpy(ptr, v.data(), size); diff --git a/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp b/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp index 73fcc892..5b35d15f 100644 --- a/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +++ b/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp @@ -79,7 +79,7 @@ struct object_with_zone> { void operator()(msgpack::object::with_zone& o, const std::array& v) const { uint32_t size = checked_get_container_size(v.size()); o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; o.via.bin.size = size; std::memcpy(ptr, v.data(), size); diff --git a/include/msgpack/v1/adaptor/ext.hpp b/include/msgpack/v1/adaptor/ext.hpp index b81c0bcd..bf4bf57f 100644 --- a/include/msgpack/v1/adaptor/ext.hpp +++ b/include/msgpack/v1/adaptor/ext.hpp @@ -104,7 +104,7 @@ struct object_with_zone { // size limit has already been checked at ext's constructor uint32_t size = v.size(); o.type = msgpack::type::EXT; - char* ptr = static_cast(o.zone.allocate_align(size + 1)); + char* ptr = static_cast(o.zone.allocate_align(size + 1, MSGPACK_ZONE_ALIGNOF(char))); o.via.ext.ptr = ptr; o.via.ext.size = size; ptr[0] = static_cast(v.type()); diff --git a/include/msgpack/v1/adaptor/string.hpp b/include/msgpack/v1/adaptor/string.hpp index a4ce8a2f..ca7d3e50 100644 --- a/include/msgpack/v1/adaptor/string.hpp +++ b/include/msgpack/v1/adaptor/string.hpp @@ -69,7 +69,7 @@ struct object_with_zone { void operator()(msgpack::object::with_zone& o, const std::string& v) const { uint32_t size = checked_get_container_size(v.size()); o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.str.ptr = ptr; o.via.str.size = size; std::memcpy(ptr, v.data(), v.size()); diff --git a/include/msgpack/v1/adaptor/vector_char.hpp b/include/msgpack/v1/adaptor/vector_char.hpp index a89d54d2..315dad67 100644 --- a/include/msgpack/v1/adaptor/vector_char.hpp +++ b/include/msgpack/v1/adaptor/vector_char.hpp @@ -96,7 +96,7 @@ struct object_with_zone > { o.type = msgpack::type::BIN; o.via.bin.size = size; if (size != 0) { - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; std::memcpy(ptr, &v.front(), size); } diff --git a/include/msgpack/v1/adaptor/vector_unsigned_char.hpp b/include/msgpack/v1/adaptor/vector_unsigned_char.hpp index c79e5748..9db72fe7 100644 --- a/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +++ b/include/msgpack/v1/adaptor/vector_unsigned_char.hpp @@ -96,7 +96,7 @@ struct object_with_zone > { o.type = msgpack::type::BIN; o.via.bin.size = size; if (size != 0) { - char* ptr = static_cast(o.zone.allocate_align(size)); + char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; std::memcpy(ptr, &v.front(), size); } diff --git a/include/msgpack/v1/object.hpp b/include/msgpack/v1/object.hpp index 6dc072e0..6ea84464 100644 --- a/include/msgpack/v1/object.hpp +++ b/include/msgpack/v1/object.hpp @@ -325,7 +325,7 @@ struct object_with_zone { return; case msgpack::type::STR: { - char* ptr = static_cast(o.zone.allocate_align(v.via.str.size)); + char* ptr = static_cast(o.zone.allocate_align(v.via.str.size, MSGPACK_ZONE_ALIGNOF(char))); o.via.str.ptr = ptr; o.via.str.size = v.via.str.size; std::memcpy(ptr, v.via.str.ptr, v.via.str.size); @@ -333,7 +333,7 @@ struct object_with_zone { } case msgpack::type::BIN: { - char* ptr = static_cast(o.zone.allocate_align(v.via.bin.size)); + char* ptr = static_cast(o.zone.allocate_align(v.via.bin.size, MSGPACK_ZONE_ALIGNOF(char))); o.via.bin.ptr = ptr; o.via.bin.size = v.via.bin.size; std::memcpy(ptr, v.via.bin.ptr, v.via.bin.size); @@ -341,7 +341,7 @@ struct object_with_zone { } case msgpack::type::EXT: { - char* ptr = static_cast(o.zone.allocate_align(v.via.ext.size + 1)); + char* ptr = static_cast(o.zone.allocate_align(v.via.ext.size + 1, MSGPACK_ZONE_ALIGNOF(char))); o.via.ext.ptr = ptr; o.via.ext.size = v.via.ext.size; std::memcpy(ptr, v.via.ext.ptr, v.via.ext.size + 1);