/* */
/* */
/* */
-/* (C) 2001 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 2001-2009, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
/* cc65 */
#include "codeent.h"
#include "codelab.h"
+#include "output.h"
/* The insn at E jumps to this label */
E->JumpTo = L;
+ /* Replace the code entry argument with the name of the new label */
+ CE_SetArg (E, L->Name);
+
/* Remember that in the label */
CollAppend (&L->JumpFrom, E);
}
*/
{
/* Walk through all instructions referencing the old label */
- unsigned Count = CollCount (&OldLabel->JumpFrom);
+ unsigned Count = CL_GetRefCount (OldLabel);
while (Count--) {
/* Get the instruction that references the old label */
- CodeEntry* E = CollAt (&OldLabel->JumpFrom, Count);
+ CodeEntry* E = CL_GetRef (OldLabel, Count);
/* Change the reference to the new label */
CHECK (E->JumpTo == OldLabel);
-void CL_Output (const CodeLabel* L, FILE* F)
-/* Output the code label to a file */
+void CL_Output (const CodeLabel* L)
+/* Output the code label to the output file */
{
- fprintf (F, "%s:", L->Name);
+ WriteOutput ("%s:", L->Name);
+ if (strlen (L->Name) > 6) {
+ /* Label is too long, add a linefeed */
+ WriteOutput ("\n");
+ }
}
+