Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/pr70965.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/pr70965.C Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -std=c++11" } */ + +struct A {}; +struct B {}; +struct C { using p = int *; template <typename> using ra = A; }; +struct J : C { template <typename> struct K { typedef C::ra<int> o; }; }; +template <typename> struct D +{ + struct H : J::K<int>::o { H (J::p, A) : J::K<int>::o () {} }; + H d; + D (const char *, const A &x = A ()) : d (0, x) {} +}; +extern template class D<char>; +enum L { M }; +struct F { virtual char *foo (); }; +template <class> struct I : B { static int foo (int) {} }; +struct G { typedef I<int> t; }; +void foo (int) { G::t::foo (0); } +void bar (const D<char> &, const D<int> &, int, L); +void baz () try { foo (0); } catch (F &e) { bar (e.foo (), "", 0, M); }