anchor.diff:      %% Two messages (one too many). Keeps otp_4871 happy.
       Cs = [{otp_8562,
              <<"%% coding: utf-8\n \n \x{E4}">>,
  -           {errors,[{3,epp,cannot_parse},
  -                    {3,file_io_server,invalid_unicode}],[]}}
  +           {errors,[{{3,1},epp,cannot_parse},
  +                    {{3,1},file_io_server,invalid_unicode}],[]}}
            ],
       [] = compile(Config, Cs),
       Dir = proplists:get_value(priv_dir, Config),
  
positive.code:     io:get_line(Fd, ''),
      io:get_line(Fd, ''),
      io:get_line(Fd, ''),
      {ok, Epp} = epp:open(list_to_atom(File), Fd, 4, [], []),
  
      Forms = epp:parse_file(Epp),
      [] = [Reason || {error, Reason} <- Forms],
  
negative.code: 	     "-endif.\n"
  	     "-if(begin true end).\n"
  	     "-endif.\n">>,
  	   {errors,[{{1,21},epp,{bad,'if'}},
  		    {{3,2},epp,{bad,'if'}}],
  	    []}},
  
  	  {if_3c,			       	%Invalid use of defined/1.
  	   <<"-if defined(42).\n"
  	     "-endif.\n">>,
  	   {errors,[{{1,21},epp,{bad,'if'}}],[]}},
  
  	  {if_4c,
  	   <<"-elif OTP_RELEASE > 18.\n">>,
  	   {errors,[{{1,21},epp,{illegal,"unbalanced",'elif'}}],[]}},
  
  	  {if_5c,
  	   <<"-ifdef(not_defined_today).\n"
  	     "-else.\n"
  	     "-elif OTP_RELEASE > 18.\n"
  	     "-endif.\n">>,
  	   {errors,[{{3,2},epp,{illegal,"unbalanced",'elif'}}],[]}},
  
  	  {if_6c,
  	   <<"-if(defined(OTP_RELEASE)).\n"
  	     "-else.\n"
  	     "-elif(true).\n"
  	     "-endif.\n">>,
  	   {errors,[{{3,2},epp,elif_after_else}],[]}},
  
  	  {if_7c,
  	   <<"-if(begin true end).\n"		%Not a guard expression.
  	     "-endif.\n">>,
  	   {errors,[{{1,21},epp,{bad,'if'}}],[]}},
  
  	  {if_8c,
  	   <<"-if(?foo).\n"                     %Undefined symbol.
  	     "-endif.\n">>,
  	   {errors,[{{1,6},epp,{undefined,foo,none}}],[]}}
  
  	 ],
      [] = compile(Config, Cs),
  