diff options
author | Nick Clifton <nickc@redhat.com> | 2024-12-19 09:59:11 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2024-12-19 09:59:11 +0000 |
commit | 9f2e3c21f6506f081f1360f02b847606e0e00995 (patch) | |
tree | bfa1409aea4c8df3dd14b0ec7c461109620560c9 /gas/input-scrub.c | |
parent | 2c0c13933a6d08ae87c2852b3421ede090499f09 (diff) | |
download | binutils-9f2e3c21f6506f081f1360f02b847606e0e00995.zip binutils-9f2e3c21f6506f081f1360f02b847606e0e00995.tar.gz binutils-9f2e3c21f6506f081f1360f02b847606e0e00995.tar.bz2 |
Fix the handling or arguments and macro pseudo-variables inside nested assembler macros.
PR 32391
Diffstat (limited to 'gas/input-scrub.c')
-rw-r--r-- | gas/input-scrub.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gas/input-scrub.c b/gas/input-scrub.c index 878edc8..25fac87 100644 --- a/gas/input-scrub.c +++ b/gas/input-scrub.c @@ -23,6 +23,7 @@ #include "input-file.h" #include "sb.h" #include "listing.h" +#include "macro.h" /* * O/S independent module to supply buffers of sanitised source code @@ -290,12 +291,13 @@ input_scrub_include_sb (sb *from, char *position, enum expansion expansion) ++macro_nest; } -#ifdef md_macro_start if (expansion == expanding_macro) { +#ifdef md_macro_start md_macro_start (); - } #endif + increment_macro_nesting_depth (); + } next_saved_file = input_scrub_push (position); @@ -350,6 +352,7 @@ input_scrub_next_buffer (char **bufp) data. */ md_macro_end (); #endif + decrement_macro_nesting_depth (); } if (from_sb_expansion != expanding_app) --macro_nest; |