From e7e5ba098425d3d3a569d36539a977f40ca5c797 Mon Sep 17 00:00:00 2001
From: Paolo Carlini <paolo@gcc.gnu.org>
Date: Wed, 9 Sep 2009 23:31:47 +0000
Subject: [PATCH] re PR c++/28293 (ICE on invalid typedef)

/cp
2009-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/28293
	* decl.c (grokfield): Check for explicit template argument lists.

/testsuite
2009-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/28293
	* g++.dg/template/crash91.C: New.

From-SVN: r151580
---
 gcc/cp/ChangeLog                        | 5 +++++
 gcc/testsuite/ChangeLog                 | 7 ++++++-
 gcc/testsuite/g++.dg/template/crash91.C | 8 ++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/g++.dg/template/crash91.C

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 98a2270875c2..5746f24f7a1e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR c++/28293
+	* decl.c (grokfield): Check for explicit template argument lists.
+
 2009-09-09  Jack Howarth  <howarth@bromo.med.uc.edu>
 
 	PR bootstrap/41180
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9d6b8235f8d2..8e2266b6024c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,4 +1,9 @@
-2009-09-09 Uros Bizjak <ubizjak@gmail.com>
+2009-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR c++/28293
+	* g++.dg/template/crash91.C: New.
+
+2009-09-09  Uros Bizjak <ubizjak@gmail.com>
 
 	PR rtl-optimization/39779
 	* gcc.dg/pr39979.c: New test.
diff --git a/gcc/testsuite/g++.dg/template/crash91.C b/gcc/testsuite/g++.dg/template/crash91.C
new file mode 100644
index 000000000000..39575cd9f272
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/crash91.C
@@ -0,0 +1,8 @@
+// PR c++/28293
+
+template<int> void foo();
+
+struct A
+{
+  typedef void foo<0>(); // { dg-error "explicit template argument list not allowed" } 
+};
-- 
GitLab