MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / align

Function align

system/lib/libcxx/src/memory.cpp:135–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133#endif // _LIBCPP_HAS_THREADS
134
135void* align(size_t alignment, size_t size, void*& ptr, size_t& space) {
136 void* r = nullptr;
137 if (size <= space) {
138 char* p1 = static_cast<char*>(ptr);
139 char* p2 = reinterpret_cast<char*>(reinterpret_cast<uintptr_t>(p1 + (alignment - 1)) & -alignment);
140 size_t d = static_cast<size_t>(p2 - p1);
141 if (d <= space - size) {
142 r = p2;
143 ptr = r;
144 space -= d;
145 }
146 }
147 return r;
148}
149
150_LIBCPP_END_NAMESPACE_STD

Callers 1

is_aligned_toFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected