+void CL_MoveRefs (CodeLabel* OldLabel, CodeLabel* NewLabel)
+/* Move all references to OldLabel to point to NewLabel. OldLabel will have no
+ * more references on return.
+ */
+{
+ /* Walk through all instructions referencing the old label */
+ unsigned Count = CL_GetRefCount (OldLabel);
+ while (Count--) {
+
+ /* Get the instruction that references the old label */
+ CodeEntry* E = CL_GetRef (OldLabel, Count);
+
+ /* Change the reference to the new label */
+ CHECK (E->JumpTo == OldLabel);
+ CL_AddRef (NewLabel, E);
+
+ }
+
+ /* There are no more references to the old label */
+ CollDeleteAll (&OldLabel->JumpFrom);
+}
+
+
+
+void CL_Output (const CodeLabel* L)
+/* Output the code label to the output file */
+{
+ WriteOutput ("%s:", L->Name);
+ if (strlen (L->Name) > 6) {
+ /* Label is too long, add a linefeed */
+ WriteOutput ("\n");
+ }
+}
+
+
+
+