X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fld65%2Flineinfo.h;h=db4f84f4a615f1f9a0fd4ce7aaf51aa61a2d4f06;hb=35e1184901ca38bdb2e56d154ed3b71f6096eacc;hp=54e40861ca250bc61d0cd946394f4eb3e729be9b;hpb=17e2276f3808ee3631496ea9be262278d541e1a2;p=cc65 diff --git a/src/ld65/lineinfo.h b/src/ld65/lineinfo.h index 54e40861c..db4f84f4a 100644 --- a/src/ld65/lineinfo.h +++ b/src/ld65/lineinfo.h @@ -73,10 +73,11 @@ struct Segment; */ 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 */ }; @@ -101,6 +102,11 @@ void ReadLineInfoList (FILE* F, struct ObjData* O, Collection* LineInfos); * 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 */ @@ -122,7 +128,7 @@ INLINE const char* GetSourceName (const LineInfo* LI) #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; @@ -154,7 +160,7 @@ INLINE const char* GetSourceNameFromList (const Collection* LineInfos) #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 */ @@ -165,6 +171,12 @@ INLINE unsigned long GetSourceLineFromList (const Collection* LineInfos) 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 */