From 2a2b1d56d323821f6a74d942b0fa2a00d4ffbdbc Mon Sep 17 00:00:00 2001 From: Kriang Lerdsuwanakij Date: Sun, 4 Nov 2001 09:50:44 +0000 Subject: * pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR. From-SVN: r46772 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/pt.c | 1 + gcc/testsuite/g++.dg/ext/typeof1.C | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 gcc/testsuite/g++.dg/ext/typeof1.C (limited to 'gcc') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1cc0cf6..e566e30 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-11-04 Kriang Lerdsuwanakij + + * pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR. + 2001-11-03 Kaveh R. Ghazi * lex.c (copy_lang_type): Add static prototype. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index a2971f9..f1a41f2 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -7174,6 +7174,7 @@ tsubst_copy (t, args, complain, in_decl) case ARRAY_TYPE: case TYPENAME_TYPE: case UNBOUND_CLASS_TEMPLATE: + case TYPEOF_TYPE: case TYPE_DECL: return tsubst (t, args, complain, in_decl); diff --git a/gcc/testsuite/g++.dg/ext/typeof1.C b/gcc/testsuite/g++.dg/ext/typeof1.C new file mode 100644 index 0000000..a3c13c8 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/typeof1.C @@ -0,0 +1,21 @@ +// Test typeof template argument substitution + +// Copyright (C) 2001 Free Software Foundation +// Contributed by Kriang Lerdsuwanakij +// { dg-do compile } +// { dg-options "" } + +template struct A { + void f() {} + void g(T* t) { + A a; + a.f(); + } +}; + +int main() +{ + A a; + int b; + a.g(&b); +} -- cgit v1.1