下のソースでコンパイルも実行も問題なかった

/*
 * c -xarch=v9 -o aaa aaa.c
 */
#include <stdlib.h>

typedef
struct {
        int     a;
        short   b;
} A;

typedef  A *    PA;

int main(){
        PA      pa;
        int     num = 3;
        pa = (PA)malloc(sizeof(A)*num);
        pa[0].a = 1;
}