aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mmitchell@usa.net>1998-03-19 22:31:22 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1998-03-19 22:31:22 +0000
commitff36954809a7b99a9ea0927d11b1899d4e4914d1 (patch)
tree5666a540a638a73d70c06e15bf91f18eca7b45c2 /gcc
parent9d70359897cb23eb4acfbb370635406e27450bad (diff)
downloadgcc-ff36954809a7b99a9ea0927d11b1899d4e4914d1.zip
gcc-ff36954809a7b99a9ea0927d11b1899d4e4914d1.tar.gz
gcc-ff36954809a7b99a9ea0927d11b1899d4e4914d1.tar.bz2
pt.c (tsubst): Clear DECL_PENDING_INLINE_INFO for new FUNCTION_DECLs.
* pt.c (tsubst): Clear DECL_PENDING_INLINE_INFO for new FUNCTION_DECLs. From-SVN: r18720
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash3.C16
3 files changed, 22 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2169907..5c41abc 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 19 19:01:48 1998 Mark Mitchell <mmitchell@usa.net>
+
+ * pt.c (tsubst): Clear DECL_PENDING_INLINE_INFO for new
+ FUNCTION_DECLs.
+
Thu Mar 19 11:51:58 1998 Jason Merrill <jason@yorick.cygnus.com>
* decl.c (make_implicit_typename): Lose useless code.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index be3e5ac..6102bea 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -3964,6 +3964,7 @@ tsubst (t, args, in_decl)
DECL_DEFER_OUTPUT (r) = 0;
TREE_CHAIN (r) = NULL_TREE;
DECL_CHAIN (r) = NULL_TREE;
+ DECL_PENDING_INLINE_INFO (r) = 0;
if (IDENTIFIER_OPNAME_P (DECL_NAME (r)))
grok_op_properties (r, DECL_VIRTUAL_P (r), DECL_FRIEND_P (r));
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash3.C b/gcc/testsuite/g++.old-deja/g++.pt/crash3.C
new file mode 100644
index 0000000..0d2a7cd
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash3.C
@@ -0,0 +1,16 @@
+// Build don't link:
+
+template <class Type>
+class CVector {
+public:
+ CVector<int> f() const
+ {
+ CVector<int> v(n);
+ return v;
+ }
+ CVector<long> g() const
+ {
+ CVector<long> v(n);
+ return v;
+ }
+};