@@ -2795,12 +2791,6 @@ See: ,[
-
- Enables the .ADDRSIZE pseudo function. This function is experimental and not enabled by default.
-
- See also: ]
-
at_in_identifiers
Accept the at character ('@') as a valid character in identifiers. The
diff --git a/src/ca65/feature.c b/src/ca65/feature.c
index 41177d66b..9f5ca5876 100644
--- a/src/ca65/feature.c
+++ b/src/ca65/feature.c
@@ -118,7 +118,6 @@ void SetFeature (feature_t Feature, unsigned char On)
case FEAT_C_COMMENTS: CComments = On; break;
case FEAT_FORCE_RANGE: ForceRange = On; break;
case FEAT_UNDERLINE_IN_NUMBERS: UnderlineInNumbers= On; break;
- case FEAT_ADDRSIZE: AddrSize = On; break;
case FEAT_BRACKET_AS_INDIRECT: BracketAsIndirect = On; break;
case FEAT_STRING_ESCAPES: StringEscapes = On; break;
case FEAT_LONG_JSR_JMP_RTS: LongJsrJmpRts = On; break;
diff --git a/src/ca65/global.c b/src/ca65/global.c
index 337677e31..050d19e09 100644
--- a/src/ca65/global.c
+++ b/src/ca65/global.c
@@ -85,5 +85,4 @@ unsigned char OrgPerSeg = 0; /* Make .org local to current seg */
unsigned char CComments = 0; /* Allow C like comments */
unsigned char ForceRange = 0; /* Force values into expected range */
unsigned char UnderlineInNumbers = 0; /* Allow underlines in numbers */
-unsigned char AddrSize = 0; /* Allow .ADDRSIZE function */
unsigned char BracketAsIndirect = 0; /* Use '[]' not '()' for indirection */
diff --git a/src/ca65/global.h b/src/ca65/global.h
index 46fb6c763..b3de99df5 100644
--- a/src/ca65/global.h
+++ b/src/ca65/global.h
@@ -87,7 +87,6 @@ extern unsigned char OrgPerSeg; /* Make .org local to current seg */
extern unsigned char CComments; /* Allow C like comments */
extern unsigned char ForceRange; /* Force values into expected range */
extern unsigned char UnderlineInNumbers; /* Allow underlines in numbers */
-extern unsigned char AddrSize; /* Allow .ADDRSIZE function */
extern unsigned char BracketAsIndirect; /* Use '[]' not '()' for indirection */
diff --git a/src/ca65/pseudo.c b/src/ca65/pseudo.c
index 1877512d5..2ce1ae087 100644
--- a/src/ca65/pseudo.c
+++ b/src/ca65/pseudo.c
@@ -1043,6 +1043,11 @@ static void DoFeature (void)
ErrorSkip ("Invalid feature: '%m%p'", &CurTok.SVal);
return;
}
+
+ if (Feature == FEAT_ADDRSIZE) {
+ Warning (1, "Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.");
+ }
+
NextTok ();
/* Optional +/- or ON/OFF */
diff --git a/src/ca65/scanner.c b/src/ca65/scanner.c
index add365e84..185100025 100644
--- a/src/ca65/scanner.c
+++ b/src/ca65/scanner.c
@@ -748,24 +748,7 @@ static token_t FindDotKeyword (void)
R = bsearch (&K, DotKeywords, sizeof (DotKeywords) / sizeof (DotKeywords [0]),
sizeof (DotKeywords [0]), CmpDotKeyword);
if (R != 0) {
-
- /* By default, disable any somewhat experiemental DotKeyword. */
-
- switch (R->Tok) {
-
- case TOK_ADDRSIZE:
- /* Disallow .ADDRSIZE function by default */
- if (AddrSize == 0) {
- return TOK_NONE;
- }
- break;
-
- default:
- break;
- }
-
return R->Tok;
-
} else {
return TOK_NONE;
}
diff --git a/test/asm/val/addrsize.s b/test/asm/val/addrsize.s
new file mode 100644
index 000000000..932090df0
--- /dev/null
+++ b/test/asm/val/addrsize.s
@@ -0,0 +1,32 @@
+; test .addrsize and ensure .feature addrsize is allowed, but inactive
+
+.export _main
+
+.segment "ZEROPAGE"
+zplabel:
+
+.segment "CODE"
+abslabel:
+
+; exit with 0
+
+_main:
+ lda #0
+ tax
+ rts
+
+
+.assert .addrsize(zplabel) = 1, error, ".addrsize 1 expected for ZEROPAGE"
+.assert .addrsize(abslabel) = 2, error, ".addrsize 2 expected for absolute"
+
+.feature addrsize
+.assert .addrsize(zplabel) = 1, error, ".addrsize 1 expected for ZEROPAGE"
+.assert .addrsize(abslabel) = 2, error, ".addrsize 2 expected for absolute"
+
+.feature addrsize +
+.assert .addrsize(zplabel) = 1, error, ".addrsize 1 expected for ZEROPAGE"
+.assert .addrsize(abslabel) = 2, error, ".addrsize 2 expected for absolute"
+
+.feature addrsize -
+.assert .addrsize(zplabel) = 1, error, ".addrsize 1 expected for ZEROPAGE"
+.assert .addrsize(abslabel) = 2, error, ".addrsize 2 expected for absolute"
diff --git a/test/asm/val/feature.s b/test/asm/val/feature.s
index 4428cf4c2..0def9d92c 100644
--- a/test/asm/val/feature.s
+++ b/test/asm/val/feature.s
@@ -6,7 +6,6 @@
zplabel:
.segment "CODE"
-abslabel:
; exit with 0
@@ -17,13 +16,6 @@ _main:
tax
rts
-
-.feature addrsize +
-.assert .addrsize(zplabel) = 1, error, ".addrsize 1 expected for ZEROPAGE"
-.assert .addrsize(abslabel) = 2, error, ".addrsize 2 expected for absolute"
-.feature addrsize -
-
-
.feature at_in_identifiers on
ident@with@at:
rts