shithub: rgbds

Download patch

ref: 53fa60816196380c1a9e7d3e13d2d9bee4bee794
parent: 1154a173cc38d05e54f6263fd272a3ceeafc3ddc
author: Antonio Niño Díaz <[email protected]>
date: Thu Apr 6 16:35:46 EDT 2017

Deprecate IMPORT keyword

IMPORT is simply useless, any symbol that isn't found in the current
file is automatically flagged as imported symbol.

Signed-off-by: Antonio Niño Díaz <[email protected]>

--- a/include/asm/symbol.h
+++ b/include/asm/symbol.h
@@ -54,7 +54,6 @@
 void sym_AddSet(char *tzSym, SLONG value);
 void sym_Init(void);
 ULONG sym_GetConstantValue(char *s);
-void sym_Import(char *tzSym);
 ULONG sym_isConstant(char *s);
 struct sSymbol *sym_FindSymbol(char *tzName);
 void sym_Global(char *tzSym);
--- a/src/asm/asmy.y
+++ b/src/asm/asmy.y
@@ -772,7 +772,13 @@
 				|	import_list_entry ',' import_list
 ;
 
-import_list_entry	:	T_ID	{ sym_Import($1); }
+import_list_entry	:	T_ID	{
+						/* This is done automatically if
+						 * the label isn't found in the
+						 * list of defined symbols. */
+						if( nPass==1 )
+							warning("IMPORT is a deprecated keyword with no effect: %s", $1);
+					}
 ;
 
 export			:	T_POP_EXPORT export_list
--- a/src/asm/symbol.c
+++ b/src/asm/symbol.c
@@ -690,24 +690,6 @@
 }
 
 /*
- * Import a symbol
- */
-void
-sym_Import(char *tzSym)
-{
-	if (nPass == 1) {
-		/* only import symbols in pass 1 */
-		struct sSymbol *nsym;
-
-		if (findsymbol(tzSym, NULL)) {
-			yyerror("'%s' already defined", tzSym);
-		}
-		if ((nsym = createsymbol(tzSym)) != NULL)
-			nsym->nType |= SYMF_IMPORT;
-	}
-}
-
-/*
  * Globalize a symbol (export if defined, import if not)
  */
 void