view gcc/testsuite/g++.dg/template/typename5.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do compile }

// Origin: ariels@compugen.co.il

// PR c++/2513: typename handling when scope is dependent as
// described in DR108.

template <bool flag> struct Select {
  typedef int Result;
};

template <template<class> class Pred> struct FindType {
  typedef typename Select<true>::Result Result;
};

template <int bits> struct Int {
  template<typename T> struct RightSize {};
  typedef typename FindType<RightSize>::Result type;
};