*/
typedef struct LineInfo LineInfo;
struct LineInfo {
+ unsigned Id; /* Line info id */
struct FileInfo* File; /* File struct for this line if any */
unsigned Type; /* Type of line info */
FilePos Pos; /* Position in file */
- Collection Spans; /* Spans for this line */
+ unsigned* Spans; /* Spans for this line */
};
* make real line infos from them and place them into the passed collection.
*/
+const LineInfo* GetAsmLineInfo (const Collection* LineInfos);
+/* Find a line info of type LI_TYPE_ASM in the given collection and return it.
+ * Return NULL if no such line info was found.
+ */
+
#if defined(HAVE_INLINE)
INLINE const FilePos* GetSourcePos (const LineInfo* LI)
/* Return the source file position from the given line info */
#endif
#if defined(HAVE_INLINE)
-INLINE unsigned long GetSourceLine (const LineInfo* LI)
+INLINE unsigned GetSourceLine (const LineInfo* LI)
/* Return the source file line from the given line info */
{
return LI->Pos.Line;
#endif
#if defined(HAVE_INLINE)
-INLINE unsigned long GetSourceLineFromList (const Collection* LineInfos)
+INLINE unsigned GetSourceLineFromList (const Collection* LineInfos)
/* Return the source file line from a list of line infos */
{
/* The relevant entry is in slot zero */
GetSourceLine ((const LineInfo*) CollConstAt ((LineInfos), 0))
#endif
+unsigned LineInfoCount (void);
+/* Return the total number of line infos */
+
+void AssignLineInfoIds (void);
+/* Assign the ids to the line infos */
+
void PrintDbgLineInfo (FILE* F);
/* Output the line infos to a debug info file */