Read and manage additional line information for symbols.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5215 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2011-08-18 16:27:18 +00:00
parent f8e5463278
commit 1797235794
8 changed files with 123 additions and 44 deletions

View File

@@ -73,6 +73,7 @@ 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 */
@@ -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 */
@@ -165,6 +171,9 @@ INLINE unsigned long GetSourceLineFromList (const Collection* LineInfos)
GetSourceLine ((const LineInfo*) CollConstAt ((LineInfos), 0))
#endif
void AssignLineInfoIds (void);
/* Assign the ids to the line infos */
void PrintDbgLineInfo (FILE* F);
/* Output the line infos to a debug info file */