diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/implicit-typename1.C | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7997b3a..73d1f2d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-02-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/7982 + * g++.dg/warn/implicit-typename1.C: New test. + 2003-02-22 Kelley Cook <kelleycook@comcast.net> * g++.old-deja/g++.other/store-expr1.C: Replace "mcpu" diff --git a/gcc/testsuite/g++.dg/warn/implicit-typename1.C b/gcc/testsuite/g++.dg/warn/implicit-typename1.C new file mode 100644 index 0000000..ab5587e --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/implicit-typename1.C @@ -0,0 +1,17 @@ +// The -pedantic option must be omitted to trigger the crash. +// { dg-do compile } +// { dg-options "" } + +// PR c++/7982: Crash warning about implicit typename. +// The base class refers to another typename, while the +// name lookup finds a template. + +template <typename T> struct X {}; + +template <typename T> struct C { + typedef typename T::X X; +}; + +template <typename T> struct A : public C<T> { + typedef X<int> X; // { dg-warning "lookup|dependent base|typename" } +}; |