MMIX: use current_location() directly

It's no longer a static function, so it can be used without involving a
wrapper function plus an indirect function call.
diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c
index f2a16e6..157cb72 100644
--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -441,16 +441,6 @@
     md_number_to_chars (opcodep + i * 4, SWYM_INSN_BYTE << 24, 4);
 }
 
-/* See macro md_parse_name in tc-mmix.h.  */
-
-int
-mmix_current_location (void (*fn) (expressionS *), expressionS *exp)
-{
-  (*fn) (exp);
-
-  return 1;
-}
-
 /* Get up to three operands, filling them into the exp array.
    General idea and code stolen from the tic80 port.  */
 
diff --git a/gas/config/tc-mmix.h b/gas/config/tc-mmix.h
index 08061b8..5e70617 100644
--- a/gas/config/tc-mmix.h
+++ b/gas/config/tc-mmix.h
@@ -48,15 +48,12 @@
 extern void mmix_md_finish (void);
 #define md_finish mmix_md_finish
 
-extern int mmix_current_location \
-  (void (*fn) (expressionS *), expressionS *);
 extern int mmix_parse_predefined_name (char *, expressionS *);
 
 extern char *mmix_current_prefix;
 
-/* A bit ugly, since we "know" that there's a static function
-   current_location that does what we want.  We also strip off a leading
-   ':' in another ugly way.
+/* Besides the special casing of "@" we also strip off a leading ':' in an
+   ugly way.
 
    The [DVWIOUZX]_Handler symbols are provided when-used.  */
 
@@ -65,7 +62,7 @@
  (! mmix_gnu_syntax						\
   && (name[0] == '@'						\
       ? (! is_part_of_name (name[1])				\
-	 && mmix_current_location (current_location, exp))	\
+	 && (current_location (exp), 1))			\
       : ((name[0] == ':' || ISUPPER (name[0]))			\
 	 && mmix_parse_predefined_name (name, exp))))