aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/errorout.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/errorout.ads')
-rw-r--r--src/vhdl/errorout.ads274
1 files changed, 0 insertions, 274 deletions
diff --git a/src/vhdl/errorout.ads b/src/vhdl/errorout.ads
deleted file mode 100644
index 1abacca3a..000000000
--- a/src/vhdl/errorout.ads
+++ /dev/null
@@ -1,274 +0,0 @@
--- Error message handling.
--- Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold
---
--- GHDL is free software; you can redistribute it and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation; either version 2, or (at your option) any later
--- version.
---
--- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
--- WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with GHDL; see the file COPYING. If not, write to the Free
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
--- 02111-1307, USA.
-with Types; use Types;
-with Vhdl.Nodes; use Vhdl.Nodes;
-with Vhdl.Tokens;
-
-package Errorout is
- Option_Error: exception;
- Compilation_Error: exception;
-
- -- This kind can't be handled.
- procedure Error_Kind (Msg : String; N : PSL_Node);
- pragma No_Return (Error_Kind);
-
- -- The number of errors (ie, number of calls to error_msg*).
- Nbr_Errors : Natural := 0;
-
- -- Maximum number of errors, before silent them.
- Max_Nbr_Errors : constant Natural := 100;
-
- type Msgid_Type is
- (
- -- Any note
- Msgid_Note,
-
- -- Specific warnings
-
- -- Design unit redefines another design unit.
- Warnid_Library,
-
- -- Missing Xref in pretty print.
- Warnid_Missing_Xref,
-
- -- No default binding for a component instantiation.
- Warnid_Default_Binding,
-
- -- Unbound component.
- Warnid_Binding,
-
- -- Unconnected IN port without defaults (in relaxed mode).
- Warnid_Port,
-
- -- Vhdl93 reserved word is used as a vhdl87 identifier.
- Warnid_Reserved_Word,
-
- -- Start of block comment ('/*') appears in a block comment.
- Warnid_Nested_Comment,
-
- -- Use of a tool directive.
- Warnid_Directive,
-
- -- Weird use of parenthesis.
- Warnid_Parenthesis,
-
- -- Generic of a vital entity is not a vital name.
- Warnid_Vital_Generic,
-
- -- Delayed checks (checks performed at elaboration time).
- Warnid_Delayed_Checks,
-
- -- Package body is not required but is analyzed.
- Warnid_Body,
-
- -- An all/others specification does not apply, because there is no such
- -- named entities.
- Warnid_Specs,
-
- -- Incorrect use of universal value.
- Warnid_Universal,
-
- -- Mismatch of bounds between actual and formal in a scalar port
- -- association
- Warnid_Port_Bounds,
-
- -- Runtime error detected at analysis time.
- Warnid_Runtime_Error,
-
- -- Signal assignment creates a delta cycle in a postponed process.
- Warnid_Delta_Cycle,
-
- -- Declaration of a shared variable with a non-protected type.
- Warnid_Shared,
-
- -- A declaration hides a previous one.
- Warnid_Hide,
-
- -- Emit a warning when a declaration is never used.
- -- FIXME: currently only subprograms are handled.
- Warnid_Unused,
-
- -- Others choice is not needed, all values are already covered.
- Warnid_Others,
-
- -- Violation of pure rules.
- Warnid_Pure,
-
- -- Violation of staticness rules
- Warnid_Static,
-
- -- Any warning
- Msgid_Warning,
-
- -- Any error
- Msgid_Error,
-
- -- Any fatal error
- Msgid_Fatal
- );
-
- -- All specific warning messages.
- subtype Msgid_Warnings is Msgid_Type
- range Warnid_Library .. Warnid_Static;
-
- -- Get the image of a warning. This correspond the the identifier of ID,
- -- in lower case, without the Msgid_Warn_ prefix and with '_' replaced
- -- by '-'.
- function Warning_Image (Id : Msgid_Warnings) return String;
-
- -- Enable or disable a warning.
- procedure Enable_Warning (Id : Msgid_Warnings; Enable : Boolean);
-
- -- Get enable status of a warning.
- function Is_Warning_Enabled (Id : Msgid_Warnings) return Boolean;
-
- -- State of warnings.
- type Warnings_Setting is private;
-
- -- Global control of warnings.
- -- Used to disable warnings while a referenced unit is analyzed.
- procedure Save_Warnings_Setting (Res : out Warnings_Setting);
- procedure Disable_All_Warnings;
- procedure Restore_Warnings_Setting (Res : Warnings_Setting);
-
- type Earg_Type is private;
- type Earg_Arr is array (Natural range <>) of Earg_Type;
-
- -- An empty array (for no arguments).
- No_Eargs : constant Earg_Arr;
-
- -- Report display:
- -- %%: %
- -- %i: identifier
- -- %c: character
- -- %t: token
- -- %l: location
- -- %n: node name
- -- %s: a string
- -- TODO: %m: mode, %y: type of
- function "+" (V : Location_Type) return Earg_Type;
- function "+" (V : Name_Id) return Earg_Type;
- function "+" (V : Character) return Earg_Type;
- function "+" (V : String8_Len_Type) return Earg_Type;
-
- -- Convert location.
- function "+" (L : PSL_Node) return Location_Type;
-
- -- Pass that detected the error.
- type Report_Origin is
- (Option, Library, Scan, Parse, Semantic, Elaboration);
-
- type Error_Record is record
- Origin : Report_Origin;
- Id : Msgid_Type;
- Cont : Boolean;
- File : Source_File_Entry;
-
- -- The first line is line 1, 0 can be used when line number is not
- -- relevant.
- Line : Natural;
-
- -- Offset in the line. The first character is at offset 0.
- Offset : Natural;
-
- -- Length of the location (for a range). It is assumed to be on the
- -- same line; use 0 when unknown.
- Length : Natural;
- end record;
-
- type Error_Start_Handler is access procedure (Err : Error_Record);
- type Message_Handler is access procedure (Str : String);
- type Message_End_Handler is access procedure;
-
- type Report_Msg_Handler is record
- Error_Start : Error_Start_Handler;
- Message : Message_Handler;
- Message_End : Message_End_Handler;
- end record;
-
- procedure Set_Report_Handler (Handler : Report_Msg_Handler);
-
- -- Generic report message. LOC maybe No_Location.
- -- If ORIGIN is Option or Library, LOC must be No_Location and the program
- -- name is displayed.
- procedure Report_Msg (Id : Msgid_Type;
- Origin : Report_Origin;
- Loc : Location_Type;
- Msg : String;
- Args : Earg_Arr := No_Eargs;
- Cont : Boolean := False);
-
- -- Disp an error, prepended with program name, and raise option_error.
- -- This is used for errors before initialisation, such as bad option or
- -- bad filename.
- procedure Error_Msg_Option (Msg: String);
- pragma No_Return (Error_Msg_Option);
-
- -- Same as Error_Msg_Option but do not raise Option_Error.
- procedure Error_Msg_Option_NR (Msg: String);
-
- -- Warn about an option.
- procedure Warning_Msg_Option (Id : Msgid_Warnings; Msg: String);
-
- function Make_Earg_Vhdl_Node (V : Iir) return Earg_Type;
- function Make_Earg_Vhdl_Token (V : Vhdl.Tokens.Token_Type) return Earg_Type;
-private
- type Earg_Kind is
- (Earg_None,
- Earg_Iir, Earg_Location, Earg_Id, Earg_Char, Earg_Token, Earg_String8);
-
- type Earg_Type (Kind : Earg_Kind := Earg_None) is record
- case Kind is
- when Earg_None =>
- null;
- when Earg_Iir =>
- Val_Iir : Iir;
- when Earg_Location =>
- Val_Loc : Location_Type;
- when Earg_Id =>
- Val_Id : Name_Id;
- when Earg_Char =>
- Val_Char : Character;
- when Earg_Token =>
- Val_Tok : Vhdl.Tokens.Token_Type;
- when Earg_String8 =>
- Val_Str8 : String8_Len_Type;
- end case;
- end record;
-
- No_Eargs : constant Earg_Arr := (1 .. 0 => (Kind => Earg_None));
-
- type Warning_Control_Type is record
- Enabled : Boolean;
- Error : Boolean;
- end record;
-
- type Warnings_Setting is array (Msgid_Warnings) of Warning_Control_Type;
-
- Default_Warnings : constant Warnings_Setting :=
- (Warnid_Library | Warnid_Binding | Warnid_Port | Warnid_Shared
- | Warnid_Runtime_Error | Warnid_Pure | Warnid_Specs
- | Warnid_Hide => (Enabled => True, Error => False),
- others => (Enabled => False, Error => False));
-
- -- Compute the column from Error_Record E.
- function Get_Error_Col (E : Error_Record) return Natural;
-
- -- Image of VAL, without the leading space.
- function Natural_Image (Val: Natural) return String;
-end Errorout;