summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--labels.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/labels.c b/labels.c
index df32315..9a7fc61 100644
--- a/labels.c
+++ b/labels.c
@@ -362,9 +362,11 @@ void declare_as_global(char *label, char *special, efunc error)
case GLOBAL_SYMBOL:
break;
case LOCAL_SYMBOL:
- if (!(lptr->defn.is_global & EXTERN_BIT))
- error(ERR_NONFATAL, "symbol `%s': GLOBAL directive must"
- " appear before symbol definition", label);
+ if (!(lptr->defn.is_global & EXTERN_BIT)) {
+ error(ERR_WARNING, "symbol `%s': GLOBAL directive "
+ "after symbol definition is an experimental feature", label);
+ lptr->defn.is_global = GLOBAL_SYMBOL;
+ }
break;
}
}