Commit f3368a90 by Nathan Sidwell Committed by Nathan Sidwell

re PR c++/5125 (both g++ 3.0.1 and 2.95.3 crash with internal error when trying…

re PR c++/5125 (both g++ 3.0.1 and 2.95.3 crash with internal error when trying compile template method with parameter pointer to method)

cp:
	PR c++/5125
	* pt.c (push_template_decl_real): Make sure DECL has
	DECL_LANG_SPECIFIC.
testsuite:
	* g++.dg/template/crash1.C: New test.

From-SVN: r48370
parent 03c9c274
2001-12-29 Nathan Sidwell <nathan@codesourcery.com> 2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
PR c++/5125
* pt.c (push_template_decl_real): Make sure DECL has
DECL_LANG_SPECIFIC.
2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
PR c++/335 PR c++/335
* init.c (resolve_offset_ref): Copy cv qualifiers of this pointer * init.c (resolve_offset_ref): Copy cv qualifiers of this pointer
for non-reference fields. for non-reference fields.
......
...@@ -2627,7 +2627,7 @@ push_template_decl_real (decl, is_friend) ...@@ -2627,7 +2627,7 @@ push_template_decl_real (decl, is_friend)
return decl; return decl;
} }
} }
else if (! DECL_TEMPLATE_INFO (decl)) else if (!DECL_LANG_SPECIFIC (decl) || !DECL_TEMPLATE_INFO (decl))
{ {
error ("template definition of non-template `%#D'", decl); error ("template definition of non-template `%#D'", decl);
return decl; return decl;
......
2001-12-29 Nathan Sidwell <nathan@codesourcery.com> 2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
* g++.dg/template/crash1.C: New test.
2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
* g++.dg/other/const1.C: New test. * g++.dg/other/const1.C: New test.
2001-12-29 Hans-Peter Nilsson <hp@bitrange.com> 2001-12-29 Hans-Peter Nilsson <hp@bitrange.com>
......
// { dg-do compile }
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 29 Dec 2001 <nathan@nathan@codesourcery.com>
// PR 5125. ICE
class S
{
public:
template <class I> void Foo(int (*f)(S& o) ); // { dg-error "candidate" "" }
};
template <class I>
void S::Foo(int (*f)(TYPO&o) )
{ // { dg-error "template definition of non-template|prototype" "" }
}
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