Here is the list of bugs fixed post 2.0 of ppca


1) It is possible that ppca could run out of registers when a valid
   allocation could be found. This occurs when some of the variables
   conflict with hard-coded registers. This is because ppca does
   not take into account the conflicts with the hard-coded registers
   when it chooses its allocation order.
   
Work around: None

Fixed in version: 2.05


2) ppca did not support the qwait, dloop and eloop instructions

Work around: Hard code the instructions using .long directives

Fixed in version: 2.05
  
                               
3) When a structure field member is named the same as a variable which
   has had instance numbers added to it, then ppca confuses the structure 
   member with the variable and appends the instance number to it also.
   Thus if a variable is named "a" and a structure has a field named "a"
   then an input line something like 
              
   a = *ga1.mystruct.a

   may be converted to 

   a_001 = *ga1.mystruct.a_001

Work around: Choose field names which are different to variable names

Fixed in version: 2.05

