anchor.diff:      {Fvs,St3} = new_c_vars(Ar, L, St2),
       Cf = func_fail(Fvs, L, St3),
       Cb = c_case(c_values(Cvs), Ccs ++ [Cf], [L]),
  -    {c_fun(Cvs, Cb, [L,{file,St3#cg.file}]),St3}.
  +    Ann = line_file_anno(L, St3),
  +    {c_fun(Cvs, Cb, Ann),St3}.
   
   func_fail(Fvs, L, #cg{func=F}=St) ->
       %% We need function_name anno to generate function_clause error.
  
positive.code: comp_lambda(Args, Body, Env, L, St0) ->
      {Cvs,Pvs,St1} = comp_lambda_args(Args, L, St0),
      {Cb,St2} = comp_body(Body, add_vbindings(Pvs, Env), L, St1),
      {c_fun(Cvs, Cb, [L,{file,St2#cg.file}]),St2}.
  
  comp_lambda_args(Args, L, St) ->
      foldr(fun (A, {Cvs,Pvs0,St0}) ->
  
negative.code: %%  Build a general failure clause. No line number in the clause, but
  %%  append the line number and file name to the annotation.
  
  fail_clause(Pats, Arg, Fann, L, St) ->
      Ann = line_file_anno(L, St),
      c_clause(Pats, c_atom(true),
               c_primop(c_atom(match_fail), [Arg], Fann ++ Ann),
               [compiler_generated]).             %It is compiler generated
  