More fixes for Watcom C / C89.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3829 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -147,13 +147,14 @@ static void NewSymbol (const char* SymName, long Val)
|
|||||||
/* Define a symbol with a fixed numeric value in the current scope */
|
/* Define a symbol with a fixed numeric value in the current scope */
|
||||||
{
|
{
|
||||||
ExprNode* Expr;
|
ExprNode* Expr;
|
||||||
|
SymEntry* Sym;
|
||||||
|
|
||||||
/* Convert the name to a string buffer */
|
/* Convert the name to a string buffer */
|
||||||
StrBuf SymBuf = STATIC_STRBUF_INITIALIZER;
|
StrBuf SymBuf = STATIC_STRBUF_INITIALIZER;
|
||||||
SB_CopyStr (&SymBuf, SymName);
|
SB_CopyStr (&SymBuf, SymName);
|
||||||
|
|
||||||
/* Search for the symbol, allocate a new one if it doesn't exist */
|
/* Search for the symbol, allocate a new one if it doesn't exist */
|
||||||
SymEntry* Sym = SymFind (CurrentScope, &SymBuf, SYM_ALLOC_NEW);
|
Sym = SymFind (CurrentScope, &SymBuf, SYM_ALLOC_NEW);
|
||||||
|
|
||||||
/* Check if have already a symbol with this name */
|
/* Check if have already a symbol with this name */
|
||||||
if (SymIsDef (Sym)) {
|
if (SymIsDef (Sym)) {
|
||||||
@@ -295,7 +296,7 @@ static void DefineSymbol (const char* Def)
|
|||||||
InvDef (Def);
|
InvDef (Def);
|
||||||
}
|
}
|
||||||
P = Def;
|
P = Def;
|
||||||
|
|
||||||
/* Copy the symbol, checking the rest */
|
/* Copy the symbol, checking the rest */
|
||||||
I = 0;
|
I = 0;
|
||||||
while (IsIdChar (*P)) {
|
while (IsIdChar (*P)) {
|
||||||
|
|||||||
@@ -1144,7 +1144,7 @@ static void DoInclude (void)
|
|||||||
/* Name must follow */
|
/* Name must follow */
|
||||||
if (Tok != TOK_STRCON) {
|
if (Tok != TOK_STRCON) {
|
||||||
ErrorSkip ("String constant expected");
|
ErrorSkip ("String constant expected");
|
||||||
} else {
|
} else {
|
||||||
SB_Terminate (&SVal);
|
SB_Terminate (&SVal);
|
||||||
NewInputFile (SB_GetConstBuf (&SVal));
|
NewInputFile (SB_GetConstBuf (&SVal));
|
||||||
}
|
}
|
||||||
@@ -1558,9 +1558,11 @@ static void DoSetCPU (void)
|
|||||||
if (Tok != TOK_STRCON) {
|
if (Tok != TOK_STRCON) {
|
||||||
ErrorSkip ("String constant expected");
|
ErrorSkip ("String constant expected");
|
||||||
} else {
|
} else {
|
||||||
|
cpu_t CPU;
|
||||||
|
|
||||||
/* Try to find the CPU */
|
/* Try to find the CPU */
|
||||||
SB_Terminate (&SVal);
|
SB_Terminate (&SVal);
|
||||||
cpu_t CPU = FindCPU (SB_GetConstBuf (&SVal));
|
CPU = FindCPU (SB_GetConstBuf (&SVal));
|
||||||
|
|
||||||
/* Switch to the new CPU */
|
/* Switch to the new CPU */
|
||||||
SetCPU (CPU);
|
SetCPU (CPU);
|
||||||
|
|||||||
@@ -646,9 +646,13 @@ static unsigned char FindDotKeyword (void)
|
|||||||
* return TOK_NONE if not found.
|
* return TOK_NONE if not found.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
struct DotKeyword K = { SB_GetConstBuf (&SVal), 0 };
|
struct DotKeyword K;
|
||||||
struct DotKeyword* R;
|
struct DotKeyword* R;
|
||||||
|
|
||||||
|
/* Initialize K */
|
||||||
|
K.Key = SB_GetConstBuf (&SVal);
|
||||||
|
K.Tok = 0;
|
||||||
|
|
||||||
/* If we aren't in ignore case mode, we have to uppercase the keyword */
|
/* If we aren't in ignore case mode, we have to uppercase the keyword */
|
||||||
if (!IgnoreCase) {
|
if (!IgnoreCase) {
|
||||||
UpcaseSVal ();
|
UpcaseSVal ();
|
||||||
|
|||||||
@@ -62,12 +62,13 @@ SymTable* ParseScopedIdent (StrBuf* Name, StrBuf* FullName)
|
|||||||
* by the caller for error messages or similar.
|
* by the caller for error messages or similar.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
SymTable* Scope;
|
||||||
|
|
||||||
/* Clear both passed string buffers */
|
/* Clear both passed string buffers */
|
||||||
SB_Clear (Name);
|
SB_Clear (Name);
|
||||||
SB_Clear (FullName);
|
SB_Clear (FullName);
|
||||||
|
|
||||||
/* Get the starting table */
|
/* Get the starting table */
|
||||||
SymTable* Scope;
|
|
||||||
if (Tok == TOK_NAMESPACE) {
|
if (Tok == TOK_NAMESPACE) {
|
||||||
|
|
||||||
/* Start from the root scope */
|
/* Start from the root scope */
|
||||||
|
|||||||
@@ -312,7 +312,7 @@ INLINE const StrBuf* GetSymName (const SymEntry* S)
|
|||||||
return GetStrBuf (S->Name);
|
return GetStrBuf (S->Name);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
# define GetSymName(S) GetString ((S)->Name)
|
# define GetSymName(S) GetStrBuf ((S)->Name)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_INLINE)
|
#if defined(HAVE_INLINE)
|
||||||
@@ -353,3 +353,4 @@ INLINE const FilePos* GetSymPos (const SymEntry* S)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user