This code looks like it was written to obfuscate its meaning, but if we look at the draft C99 draft section, 6.8.5Iteration Operators, Grammar for do while:
do statement while ( expression ) ;
and the statement can be an expression of an expression, which in turn can be a null expression that is ;. So this is the same as:
do
;
while(1);
6.8.3 , 3:
null ( ) .