mirror of
https://github.com/cc65/cc65.git
synced 2024-12-25 17:29:50 +00:00
Fix 32/64-bit int/pointer casts
This commit is contained in:
parent
2eac69a943
commit
0614078198
@ -275,8 +275,9 @@ static void ParseAutoDecl (Declaration* Decl)
|
||||
** We abuse the Collection somewhat by using it to store line
|
||||
** numbers.
|
||||
*/
|
||||
CollReplace (&CurrentFunc->LocalsBlockStack, (void *)(long)GetCurrentLine (),
|
||||
CollCount (&CurrentFunc->LocalsBlockStack) - 1);
|
||||
CollReplace (&CurrentFunc->LocalsBlockStack,
|
||||
(void *)(size_t)GetCurrentLine (),
|
||||
CollCount (&CurrentFunc->LocalsBlockStack) - 1);
|
||||
|
||||
} else {
|
||||
/* Non-initialized local variable. Just keep track of
|
||||
|
@ -671,7 +671,7 @@ DefOrRef* AddDefOrRef (SymEntry* E, unsigned Flags)
|
||||
DOR = xmalloc (sizeof (DefOrRef));
|
||||
CollAppend (E->V.L.DefsOrRefs, DOR);
|
||||
DOR->Line = GetCurrentLine ();
|
||||
DOR->LocalsBlockId = (long)CollLast (&CurrentFunc->LocalsBlockStack);
|
||||
DOR->LocalsBlockId = (ssize_t)CollLast (&CurrentFunc->LocalsBlockStack);
|
||||
DOR->Flags = Flags;
|
||||
DOR->StackPtr = StackPtr;
|
||||
DOR->Depth = CollCount (&CurrentFunc->LocalsBlockStack);
|
||||
@ -729,9 +729,9 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
|
||||
/* Are we jumping into a block with initalization of an object that
|
||||
** has automatic storage duration? Let's emit a warning.
|
||||
*/
|
||||
if ((long)CollLast (AIC) != DOR->LocalsBlockId &&
|
||||
if ((size_t)CollLast (AIC) != (size_t)(DOR->LocalsBlockId) &&
|
||||
(CollCount (AIC) < DOR->Depth ||
|
||||
(long)CollAt (AIC, DOR->Depth - 1) != DOR->LocalsBlockId)) {
|
||||
(size_t)CollAt (AIC, DOR->Depth - 1) != DOR->LocalsBlockId)) {
|
||||
Warning ("Goto at line %d to label %s jumps into a block with "
|
||||
"initialization of an object that has automatic storage duration",
|
||||
GetCurrentLine (), Name);
|
||||
@ -758,9 +758,9 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
|
||||
/* Are we jumping into a block with initalization of an object that
|
||||
** has automatic storage duration? Let's emit a warning.
|
||||
*/
|
||||
if ((long)CollLast (AIC) != DOR->LocalsBlockId &&
|
||||
if ((ssize_t)CollLast (AIC) != DOR->LocalsBlockId &&
|
||||
(CollCount (AIC) >= DOR->Depth ||
|
||||
(long)CollLast (AIC) >= (long)DOR->Line))
|
||||
(ssize_t)CollLast (AIC) >= (long)DOR->Line))
|
||||
Warning ("Goto at line %d to label %s jumps into a block with "
|
||||
"initialization of an object that has automatic storage duration",
|
||||
DOR->Line, Name);
|
||||
|
Loading…
Reference in New Issue
Block a user