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:
parent
11e0421fa7
commit
225e1ca58e
@ -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)) {
|
||||
|
@ -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);
|
||||
|
@ -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 ();
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user