annotate gcc/testsuite/g++.dg/cpp0x/constexpr-tuple2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // PR c++/58910
kono
parents:
diff changeset
2 // { dg-do compile { target c++11 } }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #include <tuple>
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 using namespace std;
kono
parents:
diff changeset
7 struct t1{ constexpr t1(){} };
kono
parents:
diff changeset
8 struct t2{ constexpr t2(){} };
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 int main()
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 constexpr t1 T1;
kono
parents:
diff changeset
13 constexpr t2 T2;
kono
parents:
diff changeset
14 constexpr tuple<t1,t2> Tup1(T1,T2);
kono
parents:
diff changeset
15 constexpr tuple<t1,t1> Tup2(T1,T1);
kono
parents:
diff changeset
16 constexpr auto a=get<0>(Tup1 ); //works fine
kono
parents:
diff changeset
17 constexpr auto b=get<0>(Tup2 ); // error:
kono
parents:
diff changeset
18 //'(const std::_Head_base<0ul, t1, true>*)(& Tup2)'
kono
parents:
diff changeset
19 //is not a constant expression constexpr auto b=get<0>(Tup2 );
kono
parents:
diff changeset
20 }