re PR c++/22204 ([repo] internal compiler error: Segmentation fault)

PR c++/22204
	* repo.c (repo_emit_p): Robustify.

	PR c++/22204
	* g++.dg/rtti/repo1.C: New test.

From-SVN: r102073
This commit is contained in:
Mark Mitchell 2005-07-16 00:25:01 +00:00 committed by Mark Mitchell
parent 88b5224251
commit 6f4434b39b
4 changed files with 27 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2005-07-15 Mark Mitchell <mark@codesourcery.com>
PR c++/22204
* repo.c (repo_emit_p): Robustify.
2005-07-14 Daniel Berlin <dberlin@dberlin.org>
Fix PR c++/22452

View file

@ -285,7 +285,8 @@ repo_emit_p (tree decl)
else if (DECL_TINFO_P (decl))
type = TREE_TYPE (DECL_NAME (decl));
if (!DECL_TEMPLATE_INSTANTIATION (decl)
&& !CLASSTYPE_TEMPLATE_INSTANTIATION (type))
&& (!TYPE_LANG_SPECIFIC (type)
|| !CLASSTYPE_TEMPLATE_INSTANTIATION (type)))
return 2;
}
else if (!DECL_TEMPLATE_INSTANTIATION (decl))

View file

@ -1,3 +1,8 @@
2005-07-15 Mark Mitchell <mark@codesourcery.com>
PR c++/22204
* g++.dg/rtti/repo1.C: New test.
2005-07-15 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/22398

View file

@ -0,0 +1,15 @@
// PR c++/22204
// { dg-options "-frepo" }
#include <typeinfo>
template<int>
struct function1
{
function1()
{
typeid(int[100]);
}
};
function1<1> b;
int main () {}