typedef to quiet "empty translation unit" warning
compiler alignment attribute portability