anchor.diff:  %% OTP-8562. Record with no fields is considered typed.
   otp_8562(Config) when is_list(Config) ->
       Cs = [{otp_8562,
  -           <<"-define(P(), {a,b}.\n"
  +           <<"\n-define(P(), {a,b}.\n"
                "-define(P3, .\n">>,
  -           {errors,[{{1,60},epp,missing_parenthesis},
  -                    {{2,13},epp,missing_parenthesis}], []}}
  +           {errors,[{{2,19},epp,missing_parenthesis},
  +                    {{3,13},epp,missing_parenthesis}], []}}
            ],
       [] = compile(Config, Cs),
       ok.
  
positive.code: 
      {file_7702,[{abstract_code,{_,Forms}}]} = AC,
      Forms2 = unopaque_forms(Forms),
              [{attribute,1,file,_},
           _,
           _,
           {function,_,t,0,
            [{clause,_,[],[],
              [{'receive',14,
                [_,
                 {clause,14,
                  [{var,14,'M'}],
                  [],
                  [{_,_,_,
                    [{tuple,14,
                      [{atom,14,unexpected_message},
                       {var,14,'M'},
                       {atom,14,on_line},
                       {integer,14,14},
                       {atom,14,was_expecting},
                       {string,14,"foo"}]}]}]}],
                {integer,14,10000},
                [{call,14,
                  {atom,14,exit},
                  [{tuple,14,
                    [{atom,14,timeout},
                     {atom,14,on_line},
                     {integer,14,14},
                     {atom,14,was_expecting},
                     {string,14,"foo"}]}]}]}]}]},
           {eof,14}] = Forms2,
  
      file:delete(File),
      file:delete(BeamFile),
  
negative.code: 	     "-file(?FUNCTION_ARITY, 1).\n"
  	     "f1() ?FUNCTION_NAME/?FUNCTION_ARITY.\n"
  	     "f2(?FUNCTION_NAME.\n">>,
  	   {errors,[{{1,28},epp,{redefine_predef,'FUNCTION_NAME'}},
  		    {{2,9},epp,{redefine_predef,'FUNCTION_ARITY'}},
  		    {{6,11},epp,{illegal_function,'FUNCTION_NAME'}},
  		    {{7,9},epp,{illegal_function,'FUNCTION_NAME'}},
  		    {{8,8},epp,{illegal_function,'FUNCTION_ARITY'}},
  		    {{9,7},erl_parse,["syntax error before: ","f1"]},
  		    {{10,18},erl_parse,["syntax error before: ","'.'"]}],
  	    []}},
  
  	  {f_c2,
  	   <<"a({a) -> ?FUNCTION_NAME.\n"
  	     "b(}{) -> ?FUNCTION_ARITY.\n"
  	     "c(?FUNCTION_NAME, ?not_defined) -> ok.\n">>,
  	   {errors,[{{1,24},erl_parse,["syntax error before: ","')'"]},
  		    {{2,3},erl_parse,["syntax error before: ","'}'"]},
  		    {{3,20},epp,{undefined,not_defined,none}}],
  	    []}},
  
  	  {f_c3,
  	   <<"?FUNCTION_NAME() -> ok.\n"
  	     "?FUNCTION_ARITY() -> ok.\n">>,
  	   {errors,[{{1,21},epp,{illegal_function_usage,'FUNCTION_NAME'}},
  		    {{2,2},epp,{illegal_function_usage,'FUNCTION_ARITY'}}],
  	    []}}
  	 ],
  
  