diff options
author | Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> | 2001-11-04 09:50:44 +0000 |
---|---|---|
committer | Kriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org> | 2001-11-04 09:50:44 +0000 |
commit | 2a2b1d56d323821f6a74d942b0fa2a00d4ffbdbc (patch) | |
tree | 8f0c50d03b8588763ba0f2dc22ba81b723ff8219 | |
parent | 5f850402c73e9ef012b493c2b237c054ad853043 (diff) | |
download | gcc-2a2b1d56d323821f6a74d942b0fa2a00d4ffbdbc.zip gcc-2a2b1d56d323821f6a74d942b0fa2a00d4ffbdbc.tar.gz gcc-2a2b1d56d323821f6a74d942b0fa2a00d4ffbdbc.tar.bz2 |
* pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR.
From-SVN: r46772
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/pt.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/typeof1.C | 21 |
3 files changed, 26 insertions, 0 deletions
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 <lerdsuwa@users.sourceforge.net> + + * pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR. + 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * 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 <lerdsuwa@users.sourceforge.net> +// { dg-do compile } +// { dg-options "" } + +template <class T> struct A { + void f() {} + void g(T* t) { + A<typeof(t)> a; + a.f(); + } +}; + +int main() +{ + A<int> a; + int b; + a.g(&b); +} |