aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/gomp/declare-variant-9.C
blob: 7e26d8b11aee331eabfa860755f16a846370d15c (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
25
26
27
28
29
/* { dg-additional-options "-fdump-tree-gimple" } */
int &variant_fn();

#pragma omp declare variant(variant_fn) match(user={condition(1)})
int &bar();

void sub(int &a)
{
  bar();
  a = bar(); 
}

template<typename T>
T &templ_var_fn(T x);

#pragma omp declare variant(templ_var_fn) match(user={condition(1)})
template<typename T>
T &templ_base_fn(T x);

void run(int &b)
{
  templ_base_fn<int>(5);
  b = templ_base_fn<int>(7); 
}

/* { dg-final { scan-tree-dump "  variant_fn \\(\\);" "gimple" } } */
/* { dg-final { scan-tree-dump "  _1 = variant_fn \\(\\);" "gimple" } } */
/* { dg-final { scan-tree-dump "  templ_var_fn<int> \\(5\\);" "gimple" } } */
/* { dg-final { scan-tree-dump "  _1 = templ_var_fn<int> \\(7\\);" "gimple" } } */