1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-27 00:29:31 +00:00

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:
cuz 2008-03-31 21:28:50 +00:00
parent 11e0421fa7
commit 225e1ca58e
5 changed files with 16 additions and 7 deletions

View File

@ -147,13 +147,14 @@ static void NewSymbol (const char* SymName, long Val)
/* Define a symbol with a fixed numeric value in the current scope */
{
ExprNode* Expr;
SymEntry* Sym;
/* Convert the name to a string buffer */
StrBuf SymBuf = STATIC_STRBUF_INITIALIZER;
SB_CopyStr (&SymBuf, SymName);
/* 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 */
if (SymIsDef (Sym)) {
@ -295,7 +296,7 @@ static void DefineSymbol (const char* Def)
InvDef (Def);
}
P = Def;
/* Copy the symbol, checking the rest */
I = 0;
while (IsIdChar (*P)) {

View File

@ -1144,7 +1144,7 @@ static void DoInclude (void)
/* Name must follow */
if (Tok != TOK_STRCON) {
ErrorSkip ("String constant expected");
} else {
} else {
SB_Terminate (&SVal);
NewInputFile (SB_GetConstBuf (&SVal));
}
@ -1558,9 +1558,11 @@ static void DoSetCPU (void)
if (Tok != TOK_STRCON) {
ErrorSkip ("String constant expected");
} else {
cpu_t CPU;
/* Try to find the CPU */
SB_Terminate (&SVal);
cpu_t CPU = FindCPU (SB_GetConstBuf (&SVal));
CPU = FindCPU (SB_GetConstBuf (&SVal));
/* Switch to the new CPU */
SetCPU (CPU);

View File

@ -646,9 +646,13 @@ static unsigned char FindDotKeyword (void)
* return TOK_NONE if not found.
*/
{
struct DotKeyword K = { SB_GetConstBuf (&SVal), 0 };
struct DotKeyword K;
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 (!IgnoreCase) {
UpcaseSVal ();

View File

@ -62,12 +62,13 @@ SymTable* ParseScopedIdent (StrBuf* Name, StrBuf* FullName)
* by the caller for error messages or similar.
*/
{
SymTable* Scope;
/* Clear both passed string buffers */
SB_Clear (Name);
SB_Clear (FullName);
/* Get the starting table */
SymTable* Scope;
if (Tok == TOK_NAMESPACE) {
/* Start from the root scope */

View File

@ -312,7 +312,7 @@ INLINE const StrBuf* GetSymName (const SymEntry* S)
return GetStrBuf (S->Name);
}
#else
# define GetSymName(S) GetString ((S)->Name)
# define GetSymName(S) GetStrBuf ((S)->Name)
#endif
#if defined(HAVE_INLINE)
@ -353,3 +353,4 @@ INLINE const FilePos* GetSymPos (const SymEntry* S)