aboutsummaryrefslogtreecommitdiffstats
path: root/src/errorout-memory.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-05-20 18:16:34 +0200
committerTristan Gingold <tgingold@free.fr>2019-05-21 20:41:20 +0200
commit4a850818bc1c674d6b4e9c4bcc44ee6bbaa13ffc (patch)
tree39db5b4ffd9706d6718bf03fa5d77936aa9dad57 /src/errorout-memory.ads
parentfea04f795271db8fc56655bdade20174efca8fbb (diff)
downloadghdl-4a850818bc1c674d6b4e9c4bcc44ee6bbaa13ffc.tar.gz
ghdl-4a850818bc1c674d6b4e9c4bcc44ee6bbaa13ffc.tar.bz2
ghdl-4a850818bc1c674d6b4e9c4bcc44ee6bbaa13ffc.zip
errorout-memory: handle message groups; adjust python
Diffstat (limited to 'src/errorout-memory.ads')
-rw-r--r--src/errorout-memory.ads27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/errorout-memory.ads b/src/errorout-memory.ads
index 4c638671e..9d1238b01 100644
--- a/src/errorout-memory.ads
+++ b/src/errorout-memory.ads
@@ -21,12 +21,37 @@ with System;
package Errorout.Memory is
type Error_Index is new Uns32;
+ type Group_Type is (Msg_Single,
+ Msg_Main, Msg_Related, Msg_Last);
+
+ type Error_Message is record
+ -- Message error/warning id
+ Id : Msgid_Type;
+
+ -- Whether this is an single message or a related one.
+ Group : Group_Type;
+
+ -- Error soure file.
+ 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;
+
-- Get number of messages available.
function Get_Nbr_Messages return Error_Index;
-- Get messages.
-- Idx is from 1 to Nbr_Messages.
- function Get_Error_Record (Idx : Error_Index) return Error_Record;
+ function Get_Error_Record (Idx : Error_Index) return Error_Message;
function Get_Error_Message (Idx : Error_Index) return String;
function Get_Error_Message_Addr (Idx : Error_Index) return System.Address;