Fixed a problem in line info generation: Recorded token lists emitted the

tokens using the standard ASM line info, overwriting the existing one from the
real source line. Since this info was lost, and couldn't be recovered, the
original source location was omitted in error messages.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5905 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2012-11-04 12:57:34 +00:00
parent 0b5c667cd9
commit 4a41865898
4 changed files with 80 additions and 37 deletions

View File

@@ -6,7 +6,7 @@
/* */
/* */
/* */
/* (C) 2000-2011, Ullrich von Bassewitz */
/* (C) 2000-2012, Ullrich von Bassewitz */
/* Roemerstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
@@ -42,12 +42,13 @@
#include "strbuf.h"
/* ca65 */
#include "lineinfo.h"
#include "scanner.h"
/*****************************************************************************/
/* Data */
/* Data */
/*****************************************************************************/
@@ -70,6 +71,7 @@ struct TokList {
unsigned Count; /* Token count */
void (*Check)(TokList*); /* Token check function */
void* Data; /* Additional data for check */
LineInfo* LI; /* Line info for replay */
};
@@ -101,9 +103,6 @@ void TokSet (TokNode* N);
enum TC TokCmp (const TokNode* N);
/* Compare the token given as parameter against the current token */
void InitTokList (TokList* T);
/* Initialize a token list structure for later use */
TokList* NewTokList (void);
/* Create a new, empty token list */