This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Squangling patch



Here are patches that greatly improve the demanglability of
-fsquangle'd names.  They also correct the demangling of some
ordinarily mangled names.

In the process of fixing these bugs, I was forced to try to read some
pretty inscrutable code.  I added some comments, and fixed some
formatting as I looked at stuff.

I tested the resulting code by compiling one huge source file full of
tons of templates and verifying that the same demanglings appeared
with and without -fsquangle.  I also verified that the mangled names
did not change, except as required to fix buglets.

The patch is gzip'd and uuencode'd to avoid the list size limit.

Jason, OK?

-- 
Mark Mitchell 			mark@markmitchell.com
Mark Mitchell Consulting	http://www.markmitchell.com

Wed Jun 24 20:22:44 1998  Mark Mitchell  <mark@markmitchell.com>

	* cplus-dem.c (string): Move definition before work_stuff.
	(work_stuff): Add volatile_type, forgetting_types,
	previous_argument, and nrepeats fields.
	(SCOPE_STRING): New macro.
	(demangle_template): Add `remember' parameter.  Add comment.
	Register the `B' code type here, if remembering.  Tidy.  Fix crash
	on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
	(demangle_nested_args): New function.
	(internal_cplus_demangle): Handle volatile-qualified member
	functions. 
	(mop_up): Delete the previous_argument string if present.
	(demangle_signature): Tidy.  Handle volatile-qualified member
	functions.  Handle back-references using the `B' code.  Use extra
	parameter to demangle_template and SCOPE_STRING where appropriate.
	(demangle_template_value_parm): Fix thinko; 'B' is not an integral
	code. 
	(demangle_class): Use SCOPE_STRING.
	(gnu_special): Pass additional argument to demangle_template.
	Use SCOPE_STRING.
	(demangle_qualified): Save qualified types for later
	back-references.  Handle constructors and destructors for template
	types correctly.
	(do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
	demangle_template.  Use demangled_nested_args.  Don't remember
	qualified types here; that's now done in demangle_qualified.
	Similarly for templates.
	(do_arg): Improve commment.  Handle 'n' repeat code.
	(remember_type): Check forgetting_types.
	(demangle_args): Deal with 'n' repeat codes.  Tidy.
	
1998-06-24  Mark Mitchell  <mark@markmitchell.com>

	* method.c (flush_repeats): Add nrepeats parameter.
	(issue_nrepeats): Likewise.
	(is_back_referenceable_type): New function.  Don't back-reference
	TEMPLATE_TYPE_PARMs as well as simple types like integers.
	(build_mangled_name_for_type): Likewise.
	(build_mangled_name_for_type_with_Gcode): Likewise.
	(lasttype): Remove.
	(nrepeats): Likewise.
	(Nrepeats): Likewise.
	(start_squangling): Don't clear the variables removed above.
	(end_squangling): Likewise.
	(flush_repeats): Tidy.  Use nrepeats parameter rather than
	Nrepeats global.
	(issue_nrepeats): Likewise, but with nrepeats global.  Use
	is_backreferenceable_type.
	(build_overload_nested_name): Tidy.  Add comment.  Use
	build_mangled_name_for_type.
	(build_underscore_int): Comment.
	(build_overload_scope_ref): Use build_mangled_name_for_type.
	(build_overload_int): Likewise.
	(build_template_template_parm_names): Tidy.
	(build_template_parm_names): Use build_mangled_name_for_type.
	(build_overload_identifier): Add comments.
	(build_mangled_name_for_type_with_Gcode): Split out from
	build_mangled_name.
	(build_mangled_name_for_type): Use it.
	(build_mangled_name): Rework to use build_mangled_name_for_type
	and to not use global nrepeats/Nrepeats.  Tidy.
	(process_modifiers): Tidy.
	(check_btype): Use is_backreferenceable_type.  Add comment.
	Rename `node' to `type'.
	(process_overload_item): Set numeric_output_need_bar here.
	Use build_mangled_name_for_type.  Tidy.
	(build_decl_overload_real): Tidy.  Don't use Nrepeats.  Use
	build_mangled_name_for_type.

begin 600 patch.gz
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
3F.6Q>Z37N6J%_P.YSWG5,0(!````
`
end


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]