blob: 5f535498b7caf09aa68b539960065758a440c24e [file] [log] [blame]
/* { dg-do compile } */
__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
typedef struct TypHeader {
struct TypHeader * * ptr;
unsigned char type;
} * TypHandle;
extern TypHandle (* EvTab[81]) ( TypHandle hd );
TypHandle FunApplyRel ( TypHandle hdCall )
{
TypHandle hdApp;
TypHandle * ptApp;
long lp;
long lc;
hdApp = ((uintptr_t)(((TypHandle*)((hdCall)->ptr))[1])&1 ?
(((TypHandle*)((hdCall)->ptr))[1]) : (*
EvTab[(((uintptr_t)(((TypHandle*)((hdCall)->ptr))[1]) & 1) ? 1 :
((((TypHandle*)((hdCall)->ptr))[1])->type))])((((TypHandle*)((hdCall)->ptr))[1])));
ptApp = ((TypHandle*)((hdApp)->ptr));
ptApp[1] = ((TypHandle) (uintptr_t) (((long)(lp) << 2) + 1));
ptApp[2] = ((TypHandle) (uintptr_t) (((long)(lc) << 2) + 1));
}