Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/cpp1y/var-templ47.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // PR c++/69009 | |
2 // { dg-do compile { target c++14 } } | |
3 | |
4 using _uchar = char; | |
5 using _size_t = decltype(sizeof(_uchar)); | |
6 using size_t = _size_t; | |
7 template <class T, T> struct integral_constant; | |
8 template <bool b> using bool_constant = integral_constant<bool, b>; | |
9 template <class> constexpr auto tuple_size_v = 0; | |
10 template <class T> auto const tuple_size_v<T const volatile> = tuple_size_v<T>; | |
11 template <class T> | |
12 using tuple_size = integral_constant<size_t, tuple_size_v<T>>; | |
13 template <typename Base, typename Deriv> | |
14 using is_base_of = bool_constant<__is_base_of(Base, Deriv)>; | |
15 template <class T, size_t N> void test() { | |
16 is_base_of<integral_constant<size_t, N>, tuple_size<T>> value( | |
17 is_base_of<integral_constant<size_t, N>, tuple_size<const volatile T>>); | |
18 } | |
19 void foo() { test<int, 0>; } |