[PATCH] more macro diagnostics adjustments

Nick Clifton nickc@redhat.com
Fri Apr 22 15:46:00 GMT 2005


Hi Jan,

 > gas/
 > 2005-04-18  Jan Beulich  <jbeulich@novell.com>
 >
 > 	* macro.c (macro_expand_body): Replace locals indicator parameters
 > 	with actual macro_entry. New local variables macro_line and err.
 > 	Don't return when encountering an error, just record the fact.
 > 	Detect local symbol name colliding with parameter. Track line number
 > 	inside of macro expansion.
 > 	(do_formals): Move local variable name to wider scope. Check
 > 	parameter of the same name doesn't already exist. In MRI mode, also
 > 	check it doesn't collide with the argument count pseudo-parameter).
 >	(define_macro): Add file and line number parameters. Remove local
 >	variable namestr. New local variable error. Initialize macro_entry
 >	members file, line, and name. Don't return when encountering an
 >	error, just record the fact. Use %s in some diagnostics for read.c
 >	to insert the macro name. Free macro_entry on error.
 >	(macro_expand): Pass macro_entry to macro_epand_body. Don't return
 >	when encountering an error, just record the fact.
 >	(expand_irp): Don't return when encountering an error, just record
 >	the fact.
 >	* macro.h (macro_struct): New members name, file, and line.
 >	(define_macro): Add file and line number parameters.
 >	* read.c (s_macro): Pass file and line to define_macro. Tag warning
 >	regarding pseudo-op redefinition with the file/line that macro
 >	definition started at.
 >
 > gas/testsuite/
 > 2005-04-18  Jan Beulich  <jbeulich@novell.com>
 >
 > 	* gas/macros/badarg.s: Add tests for collisions between/among macro
 >	parameters and local symbols.
 >	* gas/macros/badarg.l: Adjust.

Approved - please apply.

Cheers
   Nick



More information about the Binutils mailing list