aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi/pr68355.C
blob: bb31766d5a0bb7391df2e851e66df2f2eaf1821b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// { dg-do compile }
// { dg-options "-O2 -std=c++11 -fno-pic" }
// { dg-require-effective-target fpic }

template<typename _Tp, _Tp __v>
struct integral_constant
{
  static constexpr _Tp value = __v;
  typedef _Tp value_type;
  typedef integral_constant<_Tp, __v> type;
  constexpr operator value_type() const { return value; }
};

typedef integral_constant<bool, true> true_type;
extern void xxx (true_type c);

void
yyy (void)
{
  true_type y;
  xxx (y);
}

// { dg-final { scan-assembler "jmp\[\t \]+\[^\$\]*?_Z3xxx17integral_constantIbLb1EE" { target { { i?86-*-* x86_64-*-* } && { ! ia32 } } } } }