id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11312,smart_ptr::detail::as_allocator::allocate() adds alignment padding when it's not needed,David Aue ,Glen Fernandes,"smart_ptr::detail::as_allocator::allocate() { enum { M = boost::alignment_of::value }; std::size_t n1 = count * sizeof(value_type); std::size_t n2 = data.size * sizeof(type); std::size_t n3 = n2 + M; CA ca(allocator()); void* p1 = ca.allocate(n1 + n3); Allocation is for two items of size n1 and n2. Alignment size is added to n2 to create n3 to there is room to align n2 properly. if n1 % M == 0 then alignment is already fine and the extra M bytes is wasted. ",Bugs,closed,Boost 1.64.0,smart_ptr,Boost 1.57.0,Problem,fixed,,