Commit 59e621fc by Mark Mitchell Committed by Mark Mitchell

cplus-dem.c (string): Move definition before work_stuff.

	* 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.
	* 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.

From-SVN: r21062
parent 6b9ab5cc
Sat Jul 11 16:19:48 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.
Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com> Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
* arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
......
1998-07-11 Mark Mitchell <mark@markmitchell.com> 1998-07-11 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.
* pt.c (push_template_decl_real): Don't look at DECL_TEMPLATE_INFO * pt.c (push_template_decl_real): Don't look at DECL_TEMPLATE_INFO
for TYPE_DECLs. for TYPE_DECLs.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment