Errors.Table (Cur_Msg).Warn_Err :=
Error_Msg_Kind in Warning | Style
- and then (Warning_Treated_As_Error (Msg_Buffer (1 .. Msglen))
- or else Warning_Treated_As_Error (Get_Warning_Tag (Cur_Msg))
+ and then (Warning_Treated_As_Error (Errors.Table (Cur_Msg))
or else Is_Runtime_Raise);
-- If immediate errors mode set, output error message now. Also output
------------------------
function Get_Warning_Option (Id : Error_Msg_Id) return String is
- Is_Style : constant Boolean := Errors.Table (Id).Kind in Style;
- Warn_Chr : constant String (1 .. 2) := Errors.Table (Id).Warn_Chr;
+ begin
+ return Get_Warning_Option (Errors.Table (Id));
+ end Get_Warning_Option;
+
+ function Get_Warning_Option (E : Error_Msg_Object) return String is
+ Is_Style : constant Boolean := E.Kind in Style;
+ Warn_Chr : constant String (1 .. 2) := E.Warn_Chr;
begin
- if Has_Switch_Tag (Errors.Table (Id))
+ if Has_Switch_Tag (E)
and then Warn_Chr (1) /= '?'
then
if Warn_Chr = "$ " then
---------------------
function Get_Warning_Tag (Id : Error_Msg_Id) return String is
- Warn_Chr : constant String (1 .. 2) := Errors.Table (Id).Warn_Chr;
- Option : constant String := Get_Warning_Option (Id);
+ begin
+ return Get_Warning_Tag (Errors.Table (Id));
+ end Get_Warning_Tag;
+
+ function Get_Warning_Tag (E : Error_Msg_Object) return String is
+ Warn_Chr : constant String (1 .. 2) := E.Warn_Chr;
+ Option : constant String := Get_Warning_Option (E);
begin
- if Has_Switch_Tag (Id) then
+ if Has_Switch_Tag (E) then
if Warn_Chr = "? " then
return "[enabled by default]";
elsif Warn_Chr = "* " then
return False;
end Warning_Treated_As_Error;
+ function Warning_Treated_As_Error (E : Error_Msg_Object) return Boolean is
+
+ begin
+ return
+ Warning_Treated_As_Error (E.Text.all)
+ or else Warning_Treated_As_Error (Get_Warning_Tag (E));
+ end Warning_Treated_As_Error;
+
-------------------------
-- Warnings_Suppressed --
-------------------------
-- are marked with the Deleted flag set to True.
function Get_Warning_Option (Id : Error_Msg_Id) return String;
+ function Get_Warning_Option (E : Error_Msg_Object) return String;
-- Returns the warning switch causing this warning message or an empty
-- string is there is none..
function Get_Warning_Tag (Id : Error_Msg_Id) return String;
- -- Given an error message ID, return tag showing warning message class, or
+ function Get_Warning_Tag (E : Error_Msg_Object) return String;
+ -- Given an error message, return tag showing warning message class, or
-- the null string if this option is not enabled or this is not a warning.
procedure Increase_Error_Msg_Count (E : Error_Msg_Object);
-- given by Warning_As_Error pragmas, as stored in the Warnings_As_Errors
-- table.
+ function Warning_Treated_As_Error (E : Error_Msg_Object) return Boolean;
+ -- Returns true if a Warning_As_Error pragma matches either the error text
+ -- or the warning tag of the message.
+
procedure Write_Error_Summary;
-- Write error summary