в вашем примере как раз нет определений - есть объявление (с
выделением памяти). и оно следует сразу после директивы pack.
мелкомягкие вполне резонно игнорируют директиву, если нет
объявления (выделения памяти) непосредственно после неё. о чём
прямо пишут - объявление (выделение памяти) должно быть
непосредственно после директивы и распространяется только на первое
таковое