summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi/pr68355.C
blob: 1354fc497b55b9db41d3d9f6a735dfc52ff8a0be (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-*-* } } }