1
0
mirror of https://github.com/cc65/cc65.git synced 2025-02-09 02:30:42 +00:00

Formatting fixes.

This commit is contained in:
laubzega 2018-09-30 14:22:23 -07:00 committed by Oliver Schmidt
parent 2ec21c5b7f
commit 02a914625b
4 changed files with 26 additions and 19 deletions

View File

@ -79,14 +79,14 @@ static Function* NewFunction (struct SymEntry* Sym)
Function* F = (Function*) xmalloc (sizeof (Function));
/* Initialize the fields */
F->FuncEntry = Sym;
F->ReturnType = GetFuncReturn (Sym->Type);
F->Desc = GetFuncDesc (Sym->Type);
F->Reserved = 0;
F->RetLab = GetLocalLabel ();
F->TopLevelSP = 0;
F->RegOffs = RegisterSpace;
F->Flags = IsTypeVoid (F->ReturnType) ? FF_VOID_RETURN : FF_NONE;
F->FuncEntry = Sym;
F->ReturnType = GetFuncReturn (Sym->Type);
F->Desc = GetFuncDesc (Sym->Type);
F->Reserved = 0;
F->RetLab = GetLocalLabel ();
F->TopLevelSP = 0;
F->RegOffs = RegisterSpace;
F->Flags = IsTypeVoid (F->ReturnType) ? FF_VOID_RETURN : FF_NONE;
InitCollection (&F->LocalsBlockStack);

View File

@ -272,8 +272,9 @@ static void ParseAutoDecl (Declaration* Decl)
Sym->Flags |= SC_REF;
/* Make note of auto variables initialized in current block.
We abuse the Collection somewhat by using it to store line
numbers. */
** We abuse the Collection somewhat by using it to store line
** numbers.
*/
CollReplace (&CurrentFunc->LocalsBlockStack, (void *)(long)GetCurrentLine (),
CollCount (&CurrentFunc->LocalsBlockStack) - 1);

View File

@ -537,7 +537,8 @@ static int CompoundStatement (void)
}
/* If the segment had autoinited variables, let's pop it of a stack
of such blocks. */
** of such blocks.
*/
if (OldBlockStackSize != CollCount (&CurrentFunc->LocalsBlockStack)) {
CollPop (&CurrentFunc->LocalsBlockStack);
}

View File

@ -697,25 +697,28 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
NewDOR = AddDefOrRef (Entry, Flags);
/* Walk through all occurrences of the label so far and evaluate
their relationship with the one passed to the function. */
** their relationship with the one passed to the function.
*/
for (i = 0; i < CollCount (Entry->V.L.DefsOrRefs); i++) {
DOR = CollAt (Entry->V.L.DefsOrRefs, i);
if ((DOR->Flags & SC_DEF) && (Flags & SC_REF) && (Flags & SC_GOTO)) {
/* We're processing a goto and here is its destination label.
This means the difference between SP values is already known,
so we simply emit the SP adjustment code. */
** This means the difference between SP values is already known,
** so we simply emit the SP adjustment code.
*/
if (StackPtr != DOR->StackPtr) {
g_space (StackPtr - DOR->StackPtr);
}
/* 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 &&
(CollCount (AIC) < DOR->Depth ||
(long)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.",
"initialization of an object that has automatic storage duration",
GetCurrentLine (), Name);
}
}
@ -723,17 +726,19 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
if ((DOR->Flags & SC_REF) && (DOR->Flags & SC_GOTO) && (Flags & SC_DEF)) {
/* We're processing a label, let's update all gotos encountered
so far */
** so far
*/
g_defdatalabel (DOR->LateSP_Label);
g_defdata (CF_CONST | CF_INT, StackPtr - DOR->StackPtr, 0);
/* 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 &&
(CollCount (AIC) >= DOR->Depth ||
(long)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.",
"initialization of an object that has automatic storage duration",
DOR->Line, Name);
}