[2/5] MMIX: use current_location() directly

Message ID 058b64a7-5e54-4f11-b16f-c137ec87b79a@suse.com
State New
Headers
Series gas: dot handling |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed

Commit Message

Jan Beulich Nov. 22, 2024, 12:41 p.m. UTC
  It's no longer a static function, so it can be used without involving a
wrapper function plus an indirect function call.
  

Comments

Hans-Peter Nilsson Nov. 22, 2024, 1:11 p.m. UTC | #1
On Fri, 22 Nov 2024, Jan Beulich wrote:
> It's no longer a static function, so it can be used without involving a
> wrapper function plus an indirect function call.

Ok, thanks!
(On condition that the gas test-suite passes for target mmix of course.)

brgds, H-P
  

Patch

--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -441,16 +441,6 @@  mmix_fill_nops (char *opcodep, int n)
     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.  */
 
--- a/gas/config/tc-mmix.h
+++ b/gas/config/tc-mmix.h
@@ -48,15 +48,12 @@  extern void mmix_md_begin (void);
 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 @@  extern int mmix_gnu_syntax;
  (! 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))))