aboutsummaryrefslogtreecommitdiff
path: root/gas/input-scrub.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2024-12-19 09:59:11 +0000
committerNick Clifton <nickc@redhat.com>2024-12-19 09:59:11 +0000
commit9f2e3c21f6506f081f1360f02b847606e0e00995 (patch)
treebfa1409aea4c8df3dd14b0ec7c461109620560c9 /gas/input-scrub.c
parent2c0c13933a6d08ae87c2852b3421ede090499f09 (diff)
downloadbinutils-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.c7
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;