summaryrefslogtreecommitdiff
path: root/malloc/alignment/alignment.c
blob: 99429c4ef9e6e1cfb22df13a6fa84765744aa656 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#include "alignment.h"

size_t align(size_t size)
{
    size_t padding = size % sizeof(long double);
    if (padding)
        padding = sizeof(long double) - padding;
    size_t res;
    if (__builtin_uaddl_overflow(size, padding, &res))
        return 0;
    return res;
}