mirror of
https://github.com/cc65/cc65.git
synced 2024-07-30 04:29:26 +00:00
New function IsLocalLabelName.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3992 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
3d95c9453f
commit
ca73116a03
@ -6,10 +6,10 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 2000-2001 Ullrich von Bassewitz */
|
/* (C) 2000-2009 Ullrich von Bassewitz */
|
||||||
/* Wacholderweg 14 */
|
/* Roemerstrasse 52 */
|
||||||
/* D-70597 Stuttgart */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@musoftware.de */
|
/* EMail: uz@cc65.org */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* This software is provided 'as-is', without any expressed or implied */
|
/* This software is provided 'as-is', without any expressed or implied */
|
||||||
@ -34,9 +34,14 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
/* common */
|
||||||
|
#include "chartype.h"
|
||||||
|
|
||||||
/* cc65 */
|
/* cc65 */
|
||||||
#include "asmlabel.h"
|
#include "asmlabel.h"
|
||||||
|
#include "error.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -51,6 +56,13 @@ unsigned GetLocalLabel (void)
|
|||||||
{
|
{
|
||||||
/* Number to generate unique labels */
|
/* Number to generate unique labels */
|
||||||
static unsigned NextLabel = 0;
|
static unsigned NextLabel = 0;
|
||||||
|
|
||||||
|
/* Check for an overflow */
|
||||||
|
if (NextLabel > 0xFFFF) {
|
||||||
|
Internal ("Local label overflow");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the next label */
|
||||||
return ++NextLabel;
|
return ++NextLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,3 +81,24 @@ const char* LocalLabelName (unsigned L)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int IsLocalLabelName (const char* Name)
|
||||||
|
/* Return true if Name is the name of a local label */
|
||||||
|
{
|
||||||
|
unsigned I;
|
||||||
|
|
||||||
|
if (Name[0] != 'L' || strlen (Name) != 5) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
for (I = 1; I <= 5; ++I) {
|
||||||
|
if (!IsXDigit (Name[I])) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Local label name */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 2000 Ullrich von Bassewitz */
|
/* (C) 2000-2009 Ullrich von Bassewitz */
|
||||||
/* Wacholderweg 14 */
|
/* Roemerstrasse 52 */
|
||||||
/* D-70597 Stuttgart */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@musoftware.de */
|
/* EMail: uz@cc65.org */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* This software is provided 'as-is', without any expressed or implied */
|
/* This software is provided 'as-is', without any expressed or implied */
|
||||||
@ -53,6 +53,9 @@ const char* LocalLabelName (unsigned L);
|
|||||||
* again.
|
* again.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
int IsLocalLabelName (const char* Name);
|
||||||
|
/* Return true if Name is the name of a local label */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* End of asmlabel.h */
|
/* End of asmlabel.h */
|
||||||
|
Loading…
Reference in New Issue
Block a user