mirror of
https://github.com/cc65/cc65.git
synced 2024-12-26 08:32:00 +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
|
** We abuse the Collection somewhat by using it to store line
|
||||||
** numbers.
|
** numbers.
|
||||||
*/
|
*/
|
||||||
CollReplace (&CurrentFunc->LocalsBlockStack, (void *)(long)GetCurrentLine (),
|
CollReplace (&CurrentFunc->LocalsBlockStack,
|
||||||
CollCount (&CurrentFunc->LocalsBlockStack) - 1);
|
(void *)(size_t)GetCurrentLine (),
|
||||||
|
CollCount (&CurrentFunc->LocalsBlockStack) - 1);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/* Non-initialized local variable. Just keep track of
|
/* Non-initialized local variable. Just keep track of
|
||||||
|
@ -671,7 +671,7 @@ DefOrRef* AddDefOrRef (SymEntry* E, unsigned Flags)
|
|||||||
DOR = xmalloc (sizeof (DefOrRef));
|
DOR = xmalloc (sizeof (DefOrRef));
|
||||||
CollAppend (E->V.L.DefsOrRefs, DOR);
|
CollAppend (E->V.L.DefsOrRefs, DOR);
|
||||||
DOR->Line = GetCurrentLine ();
|
DOR->Line = GetCurrentLine ();
|
||||||
DOR->LocalsBlockId = (long)CollLast (&CurrentFunc->LocalsBlockStack);
|
DOR->LocalsBlockId = (ssize_t)CollLast (&CurrentFunc->LocalsBlockStack);
|
||||||
DOR->Flags = Flags;
|
DOR->Flags = Flags;
|
||||||
DOR->StackPtr = StackPtr;
|
DOR->StackPtr = StackPtr;
|
||||||
DOR->Depth = CollCount (&CurrentFunc->LocalsBlockStack);
|
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
|
/* Are we jumping into a block with initalization of an object that
|
||||||
** has automatic storage duration? Let's emit a warning.
|
** 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 ||
|
(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 "
|
Warning ("Goto at line %d to label %s jumps into a block with "
|
||||||
"initialization of an object that has automatic storage duration",
|
"initialization of an object that has automatic storage duration",
|
||||||
GetCurrentLine (), Name);
|
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
|
/* Are we jumping into a block with initalization of an object that
|
||||||
** has automatic storage duration? Let's emit a warning.
|
** 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 ||
|
(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 "
|
Warning ("Goto at line %d to label %s jumps into a block with "
|
||||||
"initialization of an object that has automatic storage duration",
|
"initialization of an object that has automatic storage duration",
|
||||||
DOR->Line, Name);
|
DOR->Line, Name);
|
||||||
|
Loading…
Reference in New Issue
Block a user