Warning_Info_Messages := Warning_Info_Messages - 1;
end if;
+ -- When warning about a runtime exception has been escalated
+ -- into error, the starting message has increased the total
+ -- errors counter, so here we decrease this counter.
+
+ if Errors.Table (E).Warn_Runtime_Raise
+ and then not Errors.Table (E).Msg_Cont
+ and then Warning_Mode = Treat_Run_Time_Warnings_As_Errors
+ then
+ Total_Errors_Detected := Total_Errors_Detected - 1;
+ end if;
+
return True;
-- No removal required
begin
w ("Dumping error message, Id = ", Int (Id));
- w (" Text = ", E.Text.all);
- w (" Next = ", Int (E.Next));
- w (" Prev = ", Int (E.Prev));
- w (" Sfile = ", Int (E.Sfile));
+ w (" Text = ", E.Text.all);
+ w (" Next = ", Int (E.Next));
+ w (" Prev = ", Int (E.Prev));
+ w (" Sfile = ", Int (E.Sfile));
Write_Str
- (" Sptr = ");
+ (" Sptr = ");
Write_Location (E.Sptr.Ptr); -- ??? Do not write the full span for now
Write_Eol;
Write_Str
- (" Optr = ");
+ (" Optr = ");
Write_Location (E.Optr.Ptr);
Write_Eol;
- w (" Line = ", Int (E.Line));
- w (" Col = ", Int (E.Col));
- w (" Warn = ", E.Warn);
- w (" Warn_Err = ", E.Warn_Err);
- w (" Warn_Chr = '" & E.Warn_Chr & ''');
- w (" Style = ", E.Style);
- w (" Serious = ", E.Serious);
- w (" Uncond = ", E.Uncond);
- w (" Msg_Cont = ", E.Msg_Cont);
- w (" Deleted = ", E.Deleted);
- w (" Node = ", Int (E.Node));
+ w (" Line = ", Int (E.Line));
+ w (" Col = ", Int (E.Col));
+ w (" Warn = ", E.Warn);
+ w (" Warn_Err = ", E.Warn_Err);
+ w (" Warn_Runtime_Raise = ", E.Warn_Runtime_Raise);
+ w (" Warn_Chr = '" & E.Warn_Chr & ''');
+ w (" Style = ", E.Style);
+ w (" Serious = ", E.Serious);
+ w (" Uncond = ", E.Uncond);
+ w (" Msg_Cont = ", E.Msg_Cont);
+ w (" Deleted = ", E.Deleted);
+ w (" Node = ", Int (E.Node));
Write_Eol;
end dmsg;