Renamed hldbgsym -> hlldbgsym.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5283 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
/* common */
|
/* common */
|
||||||
#include "coll.h"
|
#include "coll.h"
|
||||||
#include "hldbgsym.h"
|
#include "hlldbgsym.h"
|
||||||
#include "strbuf.h"
|
#include "strbuf.h"
|
||||||
|
|
||||||
/* ca65 */
|
/* ca65 */
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
static LineInfo* CurLineInfo = 0;
|
static LineInfo* CurLineInfo = 0;
|
||||||
|
|
||||||
/* List of high level language debug symbols */
|
/* List of high level language debug symbols */
|
||||||
static Collection HLDbgSyms = STATIC_COLLECTION_INITIALIZER;
|
static Collection HLLDbgSyms = STATIC_COLLECTION_INITIALIZER;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -73,11 +73,11 @@ static Collection HLDbgSyms = STATIC_COLLECTION_INITIALIZER;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static HLDbgSym* NewHLDbgSym (unsigned Flags, unsigned Name, unsigned Type)
|
static HLLDbgSym* NewHLLDbgSym (unsigned Flags, unsigned Name, unsigned Type)
|
||||||
/* Allocate and return a new HLDbgSym structure */
|
/* Allocate and return a new HLLDbgSym structure */
|
||||||
{
|
{
|
||||||
/* Allocate memory */
|
/* Allocate memory */
|
||||||
HLDbgSym* S = xmalloc (sizeof (*S));
|
HLLDbgSym* S = xmalloc (sizeof (*S));
|
||||||
|
|
||||||
/* Initialize the fields as necessary */
|
/* Initialize the fields as necessary */
|
||||||
S->Flags = Flags;
|
S->Flags = Flags;
|
||||||
@@ -144,7 +144,7 @@ void DbgInfoFunc (void)
|
|||||||
unsigned Type;
|
unsigned Type;
|
||||||
unsigned AsmName;
|
unsigned AsmName;
|
||||||
unsigned Flags;
|
unsigned Flags;
|
||||||
HLDbgSym* S;
|
HLLDbgSym* S;
|
||||||
|
|
||||||
|
|
||||||
/* Parameters are separated by a comma */
|
/* Parameters are separated by a comma */
|
||||||
@@ -178,8 +178,8 @@ void DbgInfoFunc (void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
|
switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
|
||||||
case 0: Flags = HL_TYPE_FUNC | HL_SC_EXTERN; break;
|
case 0: Flags = HLL_TYPE_FUNC | HLL_SC_EXTERN; break;
|
||||||
case 1: Flags = HL_TYPE_FUNC | HL_SC_STATIC; break;
|
case 1: Flags = HLL_TYPE_FUNC | HLL_SC_STATIC; break;
|
||||||
default: ErrorSkip ("Storage class specifier expected"); return;
|
default: ErrorSkip ("Storage class specifier expected"); return;
|
||||||
}
|
}
|
||||||
NextTok ();
|
NextTok ();
|
||||||
@@ -206,9 +206,9 @@ void DbgInfoFunc (void)
|
|||||||
CurrentScope->Flags |= ST_EXTFUNC;
|
CurrentScope->Flags |= ST_EXTFUNC;
|
||||||
|
|
||||||
/* Add the function */
|
/* Add the function */
|
||||||
S = NewHLDbgSym (Flags, Name, Type);
|
S = NewHLLDbgSym (Flags, Name, Type);
|
||||||
S->AsmName = AsmName;
|
S->AsmName = AsmName;
|
||||||
CollAppend (&HLDbgSyms, S);
|
CollAppend (&HLLDbgSyms, S);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -279,7 +279,7 @@ void DbgInfoSym (void)
|
|||||||
unsigned AsmName = EMPTY_STRING_ID;
|
unsigned AsmName = EMPTY_STRING_ID;
|
||||||
unsigned Flags;
|
unsigned Flags;
|
||||||
int Offs;
|
int Offs;
|
||||||
HLDbgSym* S;
|
HLLDbgSym* S;
|
||||||
|
|
||||||
|
|
||||||
/* Parameters are separated by a comma */
|
/* Parameters are separated by a comma */
|
||||||
@@ -313,10 +313,10 @@ void DbgInfoSym (void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
|
switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
|
||||||
case 0: Flags = HL_SC_AUTO; break;
|
case 0: Flags = HLL_SC_AUTO; break;
|
||||||
case 1: Flags = HL_SC_EXTERN; break;
|
case 1: Flags = HLL_SC_EXTERN; break;
|
||||||
case 2: Flags = HL_SC_REG; break;
|
case 2: Flags = HLL_SC_REG; break;
|
||||||
case 3: Flags = HL_SC_STATIC; break;
|
case 3: Flags = HLL_SC_STATIC; break;
|
||||||
default: ErrorSkip ("Storage class specifier expected"); return;
|
default: ErrorSkip ("Storage class specifier expected"); return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,7 +325,7 @@ void DbgInfoSym (void)
|
|||||||
ConsumeComma ();
|
ConsumeComma ();
|
||||||
|
|
||||||
/* The next tokens depend on the storage class */
|
/* The next tokens depend on the storage class */
|
||||||
if (Flags == HL_SC_AUTO) {
|
if (Flags == HLL_SC_AUTO) {
|
||||||
/* Auto: Stack offset follows */
|
/* Auto: Stack offset follows */
|
||||||
Offs = ConstExpression ();
|
Offs = ConstExpression ();
|
||||||
} else {
|
} else {
|
||||||
@@ -338,22 +338,22 @@ void DbgInfoSym (void)
|
|||||||
NextTok ();
|
NextTok ();
|
||||||
|
|
||||||
/* For register, an offset follows */
|
/* For register, an offset follows */
|
||||||
if (Flags == HL_SC_REG) {
|
if (Flags == HLL_SC_REG) {
|
||||||
ConsumeComma ();
|
ConsumeComma ();
|
||||||
Offs = ConstExpression ();
|
Offs = ConstExpression ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add the function */
|
/* Add the function */
|
||||||
S = NewHLDbgSym (Flags | HL_TYPE_SYM, Name, Type);
|
S = NewHLLDbgSym (Flags | HLL_TYPE_SYM, Name, Type);
|
||||||
S->AsmName = AsmName;
|
S->AsmName = AsmName;
|
||||||
S->Offs = Offs;
|
S->Offs = Offs;
|
||||||
CollAppend (&HLDbgSyms, S);
|
CollAppend (&HLLDbgSyms, S);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void WriteHLDbgSyms (void)
|
void WriteHLLDbgSyms (void)
|
||||||
/* Write a list of all high level language symbols to the object file. */
|
/* Write a list of all high level language symbols to the object file. */
|
||||||
{
|
{
|
||||||
unsigned I;
|
unsigned I;
|
||||||
@@ -362,13 +362,13 @@ void WriteHLDbgSyms (void)
|
|||||||
if (DbgSyms) {
|
if (DbgSyms) {
|
||||||
|
|
||||||
/* Write the symbol count to the list */
|
/* Write the symbol count to the list */
|
||||||
ObjWriteVar (CollCount (&HLDbgSyms));
|
ObjWriteVar (CollCount (&HLLDbgSyms));
|
||||||
|
|
||||||
/* Walk through list and write all symbols to the file. */
|
/* Walk through list and write all symbols to the file. */
|
||||||
for (I = 0; I < CollCount (&HLDbgSyms); ++I) {
|
for (I = 0; I < CollCount (&HLLDbgSyms); ++I) {
|
||||||
|
|
||||||
/* Get the next symbol */
|
/* Get the next symbol */
|
||||||
const HLDbgSym* S = CollAtUnchecked (&HLDbgSyms, I);
|
const HLLDbgSym* S = CollAtUnchecked (&HLLDbgSyms, I);
|
||||||
|
|
||||||
/* Write the symbol data */
|
/* Write the symbol data */
|
||||||
ObjWriteVar (S->Flags);
|
ObjWriteVar (S->Flags);
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ void DbgInfoLine (void);
|
|||||||
void DbgInfoSym (void);
|
void DbgInfoSym (void);
|
||||||
/* Parse and handle SYM subcommand of the .dbg pseudo instruction */
|
/* Parse and handle SYM subcommand of the .dbg pseudo instruction */
|
||||||
|
|
||||||
void WriteHLDbgSyms (void);
|
void WriteHLLDbgSyms (void);
|
||||||
/* Write a list of all high level language symbols to the object file. */
|
/* Write a list of all high level language symbols to the object file. */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -911,7 +911,7 @@ void WriteDbgSyms (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Write the high level symbols */
|
/* Write the high level symbols */
|
||||||
WriteHLDbgSyms ();
|
WriteHLLDbgSyms ();
|
||||||
|
|
||||||
/* Done writing debug symbols */
|
/* Done writing debug symbols */
|
||||||
ObjEndDbgSyms ();
|
ObjEndDbgSyms ();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* hldbgsym.h */
|
/* hlldbgsym.h */
|
||||||
/* */
|
/* */
|
||||||
/* Definitions for high level language debug symbols */
|
/* Definitions for high level language debug symbols */
|
||||||
/* */
|
/* */
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef HLDBGSYM_H
|
#ifndef HLLDBGSYM_H
|
||||||
#define HLDBGSYM_H
|
#define HLLDBGSYM_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -53,24 +53,24 @@
|
|||||||
|
|
||||||
|
|
||||||
/* Flag bits that tell something about the symbol */
|
/* Flag bits that tell something about the symbol */
|
||||||
#define HL_TYPE_FUNC 0x0000U /* Function */
|
#define HLL_TYPE_FUNC 0x0000U /* Function */
|
||||||
#define HL_TYPE_SYM 0x0001U /* Symbol */
|
#define HLL_TYPE_SYM 0x0001U /* Symbol */
|
||||||
#define HL_TYPE_MASK 0x0007U
|
#define HLL_TYPE_MASK 0x0007U
|
||||||
#define HL_GET_TYPE(x) ((x) & HL_TYPE_MASK)
|
#define HLL_GET_TYPE(x) ((x) & HL_TYPE_MASK)
|
||||||
#define HL_IS_FUNC(x) (HL_GET_TYPE(x) == HL_TYPE_FUNC)
|
#define HLL_IS_FUNC(x) (HL_GET_TYPE(x) == HL_TYPE_FUNC)
|
||||||
#define HL_IS_SYM(x) (HL_GET_TYPE(x) == HL_TYPE_SYM)
|
#define HLL_IS_SYM(x) (HL_GET_TYPE(x) == HL_TYPE_SYM)
|
||||||
|
|
||||||
/* Storage class */
|
/* Storage class */
|
||||||
#define HL_SC_AUTO 0x0000U /* On stack */
|
#define HLL_SC_AUTO 0x0000U /* On stack */
|
||||||
#define HL_SC_REG 0x0008U /* Register */
|
#define HLL_SC_REG 0x0008U /* Register */
|
||||||
#define HL_SC_STATIC 0x0010U /* Static linkage */
|
#define HLL_SC_STATIC 0x0010U /* Static linkage */
|
||||||
#define HL_SC_EXTERN 0x0018U /* External linkage */
|
#define HLL_SC_EXTERN 0x0018U /* External linkage */
|
||||||
#define HL_SC_MASK 0x0078U
|
#define HLL_SC_MASK 0x0078U
|
||||||
#define HL_GET_SC(x) ((x) & HL_SC_MASK)
|
#define HLL_GET_SC(x) ((x) & HL_SC_MASK)
|
||||||
|
|
||||||
/* Structure used for a high level function or symbol */
|
/* Structure used for a high level language function or symbol */
|
||||||
typedef struct HLDbgSym HLDbgSym;
|
typedef struct HLLDbgSym HLLDbgSym;
|
||||||
struct HLDbgSym {
|
struct HLLDbgSym {
|
||||||
unsigned Flags; /* See above */
|
unsigned Flags; /* See above */
|
||||||
unsigned Name; /* String id of name */
|
unsigned Name; /* String id of name */
|
||||||
unsigned AsmName; /* String id of assembler name */
|
unsigned AsmName; /* String id of assembler name */
|
||||||
@@ -81,7 +81,7 @@ struct HLDbgSym {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* End of hldbgsyms.h */
|
/* End of hlldbgsyms.h */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Reference in New Issue
Block a user