-- { dg-do compile } -- { dg-options "-O" } package body Rep_Clause5 is function To_LNumber(S : String) return LNumber_Type is V : VString; LV : Long_Type; LN : LNumber_Type; begin LV := To_Long(V, 10); LN := LNumber_Type(LV); return LN; end; procedure Merge_Numbered(LNodes : in out LNodes_Ptr) is T1 : Token_Type; LNO : LNumber_Type; begin for X in LNodes.all'Range loop T1 := LNodes(X).Line(0); if T1.Token /= LEX_LF then declare S : String := Element(T1.SID); begin begin LNO := To_LNumber(S); exception when Bad_Number => LNO := 0; when Too_Large => LNO := 0; end; end; end if; end loop; end; end Rep_Clause5;