Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.oliva/typename2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
// { dg-do assemble } // { dg-options "" } // Copyright (C) 1999 Free Software Foundation // by Alexandre Oliva <oliva@dcc.unicamp.br> // based on bug report by Nick Rasmussen <nick@jive.org> // This is slightly different from typename1.C. This one tests // whether the implicit typename extension works. gcc 2.95 reports: // warning: lookup of `foo' finds `struct foo' // warning: instead of `baz<T>::foo' from dependent base class // warning: (use `typename baz::foo' if that's what you meant) // But baz<T>::foo is not a base class, and `foo' should have been // found in baz's scope. struct foo; template <class T> struct bar { typedef int foo; }; template <class T> struct baz { typedef bar<T>::foo foo; // { dg-error "" } implicit typename void m(foo); };