From 5808f4a685c011dca2ea8046508af6c39b91b8da Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 13 Mar 2008 10:51:33 +0000 Subject: PR gas/5895 * read.c (s_mexit): Warn if attempting to exit a macro when not inside a macro definition. * gas/macros/exit.s: New test case. * gas/macros/macros.exp: Run the new test, expect it to produce an error result. --- gas/read.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gas/read.c') diff --git a/gas/read.c b/gas/read.c index 8163c5a..ec69c4e 100644 --- a/gas/read.c +++ b/gas/read.c @@ -2554,8 +2554,13 @@ s_macro (int ignore ATTRIBUTE_UNUSED) void s_mexit (int ignore ATTRIBUTE_UNUSED) { - cond_exit_macro (macro_nest); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); + if (macro_nest) + { + cond_exit_macro (macro_nest); + buffer_limit = input_scrub_next_buffer (&input_line_pointer); + } + else + as_warn (_("ignoring macro exit outside a macro definition.")); } /* Switch in and out of MRI mode. */ -- cgit v1.1