C++ PATCH to improve specialization handling

Mark Mitchell mark@markmitchell.com
Sun Feb 21 16:35:00 GMT 1999


Folks --

  This patch fixes a few problems related to template
specializations.  How many of you knew that:
   
   template <typename T> void f(T);
   void g() { &f<int>; }

was illegal, for example? :-)

  Also, we didn't correctly handle specializations of type-conversion
operators, in cases like:

  struct S {
    template <typename T>
    operator T*();
  
    template <typename T>
    operator T();
  };

  template <> S::operator int() { return 2; }

And, we didn't correctly handle specializations of operator
new/delete, like:

  template <typename T>
  struct S {
    void *operator new (size_t);
  };

  template <>
  void* S<int>::operator new (size_t) { return 0; }

As a bonus, this patch corrects a bug whereby we allowed multiple
declarations of the same constructor or destructor:
  
  struct S {
    S(int);
    S(int);
  };

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

1999-02-19  Mark Mitchell  <mark@markmitchell.com>

	* cp-tree.h (CLASSTYPE_METHOD_VEC): Adjust comment.
	(fn_type_unification): Adjust prototype.
	(lookup_fnfields_1): Declare.
	* call.c (add_template_candidate_real): Adjust call to
	fn_type_unification.
	* class.c (add_method): Don't allow duplicate declarations of
	constructors or destructors.
	(resolve_address_of_overloaded_function): Remove unused variable.
	Adjust call to fn_type_unification.
	* decl.c (grokfndecl): Be more robust in the face of illegal
	specializations.
	* decl2.c (check_classfn): Remove hokey handling of member
	templates.
	* pt.c (determine_specialization): Improve comments.  Adjust to
	handle template argument deduction as per the standard.
	(check_explicit_specialization): Fix comment spacing.  Handle
	type-conversion operators correctly.  Improve error-recovery.
	(fn_type_unification): Remove EXTRA_FN_ARG parameter.
	(get_bindings_real): Simplify handling of static members.
	* search.c (lookup_fnfields_1): Make it have external linkage.
	* typeck.c (compparms): Fix comment.
	(build_unary_op): Don't try to figure out which template
	specialization is being referred to when when the address-of
	operator is used with a template function.
	
begin 600 diffs.gz
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
@)*,(A0TWA`WWJ!]<>O6%-UR<@_&'4^:_QJXB:-.Z````
`
end


More information about the Gcc-patches mailing list