pedantic doesn't make sense with std=gnu99