re PR c++/60248 ([C++11] ICE specializing variadic template)

PR c++/60248
	* mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.

From-SVN: r208005
This commit is contained in:
Jason Merrill 2014-02-21 10:01:54 -05:00 committed by Jason Merrill
parent b25b5f8756
commit 0b2c8f7f67
3 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-02-21 Jason Merrill <jason@redhat.com>
PR c++/60248
* mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
2014-02-20 Kai Tietz <ktietz@redhat.com>
PR c++/58873

View File

@ -3378,6 +3378,7 @@ mangle_decl (const tree decl)
if (G.need_abi_warning
/* Don't do this for a fake symbol we aren't going to emit anyway. */
&& TREE_CODE (decl) != TYPE_DECL
&& !DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (decl)
&& !DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (decl))
{

View File

@ -0,0 +1,11 @@
// PR c++/60248
// { dg-options "-std=c++11 -g -fabi-version=2" }
template<int...> struct A {};
template<> struct A<0>
{
typedef enum { e } B;
};
A<0> a;