131
|
1 // { dg-do compile }
|
|
2 // { dg-options "-O2 -std=c++11 -fno-pic" }
|
|
3 // { dg-require-effective-target fpic }
|
|
4
|
|
5 template<typename _Tp, _Tp __v>
|
|
6 struct integral_constant
|
|
7 {
|
|
8 static constexpr _Tp value = __v;
|
|
9 typedef _Tp value_type;
|
|
10 typedef integral_constant<_Tp, __v> type;
|
|
11 constexpr operator value_type() const { return value; }
|
|
12 };
|
|
13
|
|
14 typedef integral_constant<bool, true> true_type;
|
|
15 extern void xxx (true_type c);
|
|
16
|
|
17 void
|
|
18 yyy (void)
|
|
19 {
|
|
20 true_type y;
|
|
21 xxx (y);
|
|
22 }
|
|
23
|
|
24 // { dg-final { scan-assembler "jmp\[\t \]+\[^\$\]*?_Z3xxx17integral_constantIbLb1EE" { target { { i?86-*-* x86_64-*-* } && { ! ia32 } } } } }
|