anchor.diff:          _ ->
               done
       end;
  -bin_gen_field({bin_element,Line,{string,SLine,S},Size0,Options0},
  +bin_gen_field({bin_element,Anno,{string,SAnno,S},Size0,Options0},
                 Bin0, Bs0, BBs0, Mfun, Efun) ->
       {Size1, [Type,{unit,Unit},Sign,Endian]} =
  -        make_bit_type(Line, Size0, Options0),
  +        make_bit_type(Anno, Size0, Options0),
       case catch Efun(Size1, BBs0) of
           {value, Size, _BBs} -> % 
               F = fun(C, Bin, Bs, BBs) ->
                           bin_gen_field1(Bin, Type, Size, Unit, Sign, Endian,
  -                                       {integer,SLine,C}, Bs, BBs, Mfun)
  +                                       {integer,SAnno,C}, Bs, BBs, Mfun)
                   end,
               bin_gen_field_string(S, Bin0, Bs0, BBs0, F)
       end;
  -bin_gen_field({bin_element,Line,VE,Size0,Options0}, 
  +bin_gen_field({bin_element,Anno,VE,Size0,Options0},
                 Bin, Bs0, BBs0, Mfun, Efun) ->
       {Size1, [Type,{unit,Unit},Sign,Endian]} = 
  -        make_bit_type(Line, Size0, Options0),
  +        make_bit_type(Anno, Size0, Options0),
       V = erl_eval:partial_eval(VE),
       NewV = coerce_to_float(V, Type),
       case catch Efun(Size1, BBs0) of
  
positive.code:     {Bs,BBs,Rest}.
  
  %% Almost identical to the one in sys_pre_expand.
  coerce_to_float({integer,L,I}=E, float) ->
      try
  	{float,L,float(I)}
      catch
  	error:badarg -> E;
  	error:badarith -> E
  
negative.code:     Size = byte_size(Bits),
      <<Bits:Size/binary,Rest/binary-unit:1>> = Bin,
      {Bs,BBs,Rest};
  match_field_1({bin_element,Anno,{string,SAnno,S},Size0,Options0},
                Bin0, Bs0, BBs0, Mfun, Efun) ->
      {Size1, [Type,{unit,Unit},Sign,Endian]} =
          make_bit_type(Anno, Size0, Options0),
      Size2 = erl_eval:partial_eval(Size1),
      {value, Size, _BBs} = Efun(Size2, BBs0),
      F = fun(C, Bin, Bs, BBs) ->
                  match_field(Bin, Type, Size, Unit, Sign, Endian,
                              {integer,SAnno,C}, Bs, BBs, Mfun)
          end,
      match_field_string(S, Bin0, Bs0, BBs0, F);
  match_field_1({bin_element,Anno,VE,Size0,Options0},
                Bin, Bs0, BBs0, Mfun, Efun) ->
      {Size1, [Type,{unit,Unit},Sign,Endian]} = 
          make_bit_type(Anno, Size0, Options0),
      V = erl_eval:partial_eval(VE),
      NewV = coerce_to_float(V, Type),
      Size2 = erl_eval:partial_eval(Size1),
  