1 /* { dg-additional-options "-std=gnu89" } */
2 typedef unsigned char qi
;
3 typedef unsigned short hi
;
4 typedef unsigned long si
;
5 typedef unsigned long long di
;
9 memshift(p
)unsigned*p
;{unsigned x
;for(;;){x
=*p
++>>16;if(x
)return x
;}}
10 ldw(xp
)si
*xp
;{return xp
[4];}
11 ldws_m(xp
)si
*xp
;{si x
;do{x
=xp
[3];xp
+=3;}while(x
);}
12 postinc_si(p
)si
*p
;{si x
;for(;;){x
=*p
++;if(x
)return x
;}}
13 preinc_si(p
)si
*p
;{si x
;for(;;){x
=*++p
;if(x
)return x
;}}
14 postinc_di(p
)di
*p
;{di x
;for(;;){x
=*p
++;if(x
)return x
;}}
15 preinc_di(p
)di
*p
;{di x
;for(;;){x
=*++p
;if(x
)return x
;}}
16 inc_overlap(p
,a
)di
*p
;{do{p
=*(di
**)p
;p
=(di
*)((int)p
+4);}while(*p
);}
17 di
move_di(p
,p2
)di
*p
,*p2
;{di x
=p
;p2
=((di
*)x
)[1];return p2
[1];}