1  void f1 (void);
       2  #pragma omp declare variant (f1) match (construct={target})
       3  void f2 (void);
       4  void f3 (void);
       5  #pragma omp declare variant (f3) match (construct={teams})
       6  void f4 (void);
       7  void f5 (void);
       8  #pragma omp declare variant (f5) match (construct={parallel})
       9  void f6 (void);
      10  void f7 (void);
      11  #pragma omp declare variant (f7) match (construct={for})
      12  void f8 (void);
      13  void f9 (void);
      14  #pragma omp declare variant (f9) match (construct={target,teams,parallel,for})
      15  void f10 (void);
      16  void f11 (void);
      17  #pragma omp declare variant (f11) match (construct={teams,for,parallel})
      18  void f12 (void);
      19  void f13 (void);
      20  #pragma omp declare variant (f13) match (device={kind(any)})
      21  void f14 (void);
      22  #pragma omp declare variant (f13) match (device={kind("host")})
      23  void f15 (void);
      24  #pragma omp declare variant (f13) match (device={kind(nohost)})
      25  void f16 (void);
      26  #pragma omp declare variant (f13) match (device={kind(cpu)})
      27  void f17 (void);
      28  #pragma omp declare variant (f13) match (device={kind("gpu")})
      29  void f18 (void);
      30  #pragma omp declare variant (f13) match (device={kind(fpga)})
      31  void f19 (void);
      32  #pragma omp declare variant (f13) match (device={kind(any,any)})
      33  void f20 (void);
      34  #pragma omp declare variant (f13) match (device={kind(host,nohost)})
      35  void f21 (void);
      36  #pragma omp declare variant (f13) match (device={kind("cpu","gpu","fpga")})
      37  void f22 (void);
      38  #pragma omp declare variant (f13) match (device={kind(any,cpu,nohost)})
      39  void f23 (void);
      40  #pragma omp declare variant (f13) match (device={isa(avx)})
      41  void f24 (void);
      42  #pragma omp declare variant (f13) match (device={isa(sse4,"avx512f",avx512vl,avx512bw)})
      43  void f25 (void);
      44  #pragma omp declare variant (f13) match (device={arch("x86_64")})
      45  void f26 (void);
      46  #pragma omp declare variant (f13) match (device={arch(riscv64)})
      47  void f27 (void);
      48  #pragma omp declare variant (f13) match (device={arch(nvptx)})
      49  void f28 (void);
      50  #pragma omp declare variant (f13) match (device={arch(x86_64),isa("avx512f","avx512vl"),kind(cpu)})
      51  void f29 (void);
      52  #pragma omp declare variant (f13) match (implementation={vendor(amd)})
      53  void f30 (void);
      54  #pragma omp declare variant (f13) match (implementation={vendor(arm)})
      55  void f31 (void);
      56  #pragma omp declare variant (f13) match (implementation={vendor("bsc")})
      57  void f32 (void);
      58  #pragma omp declare variant (f13) match (implementation={vendor(cray)})
      59  void f33 (void);
      60  #pragma omp declare variant (f13) match (implementation={vendor(fujitsu)})
      61  void f34 (void);
      62  #pragma omp declare variant (f13) match (implementation={vendor(gnu)})
      63  void f35 (void);
      64  #pragma omp declare variant (f13) match (implementation={vendor(ibm)})
      65  void f36 (void);
      66  #pragma omp declare variant (f13) match (implementation={vendor("intel")})
      67  void f37 (void);
      68  #pragma omp declare variant (f13) match (implementation={vendor(llvm)})
      69  void f38 (void);
      70  #pragma omp declare variant (f13) match (implementation={vendor(pgi)})
      71  void f39 (void);
      72  #pragma omp declare variant (f13) match (implementation={vendor(ti)})
      73  void f40 (void);
      74  #pragma omp declare variant (f13) match (implementation={vendor(unknown)})
      75  void f41 (void);
      76  #pragma omp declare variant (f13) match (implementation={vendor(gnu,llvm,intel,ibm)})
      77  void f42 (void);
      78  #pragma omp declare variant (f13) match (implementation={extension(my_cute_extension)})	/* { dg-warning "unknown property 'my_cute_extension' of 'extension' selector" } */
      79  void f43 (void);
      80  #pragma omp declare variant (f13) match (implementation={extension(some_other_ext,another_ext)})	/* { dg-warning "unknown property 'some_other_ext' of 'extension' selector" } */
      81  void f44 (void);											/* { dg-warning "unknown property 'another_ext' of 'extension' selector" "" { target *-*-* } .-1 } */
      82  #pragma omp declare variant (f13) match (implementation={unified_shared_memory})
      83  void f45 (void);
      84  #pragma omp declare variant (f13) match (implementation={unified_address})
      85  void f46 (void);
      86  #pragma omp declare variant (f13) match (implementation={dynamic_allocators})
      87  void f47 (void);
      88  #pragma omp declare variant (f13) match (implementation={reverse_offload})
      89  void f48 (void);
      90  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(seq_cst)})
      91  void f49 (void);
      92  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(relaxed)})
      93  void f50 (void);
      94  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(acq_rel)})
      95  void f51 (void);
      96  #pragma omp declare variant (f14) match (implementation={atomic_default_mem_order(acq_rel),vendor(gnu),unified_address,extension(foobar)})	/* { dg-warning "unknown property 'foobar' of 'extension' selector" } */
      97  void f52 (void);
      98  #pragma omp declare variant (f13) match (implementation={vendor(score(3):amd)})
      99  void f53 (void);
     100  #pragma omp declare variant (f13) match (implementation={vendor(score(4):"arm")})
     101  void f54 (void);
     102  #pragma omp declare variant (f13) match (implementation={vendor(score(5):bsc)})
     103  void f55 (void);
     104  #pragma omp declare variant (f13) match (implementation={vendor(score(6):cray)})
     105  void f56 (void);
     106  #pragma omp declare variant (f13) match (implementation={vendor(score(7):fujitsu)})
     107  void f57 (void);
     108  #pragma omp declare variant (f13) match (implementation={vendor(score(8):gnu)})
     109  void f58 (void);
     110  #pragma omp declare variant (f13) match (implementation={vendor(score(9):ibm)})
     111  void f59 (void);
     112  #pragma omp declare variant (f13) match (implementation={vendor(score(10):intel)})
     113  void f60 (void);
     114  #pragma omp declare variant (f13) match (implementation={vendor(score(11):llvm)})
     115  void f61 (void);
     116  #pragma omp declare variant (f13) match (implementation={vendor(score(12):pgi)})
     117  void f62 (void);
     118  #pragma omp declare variant (f13) match (implementation={vendor(score(13):"ti")})
     119  void f63 (void);
     120  #pragma omp declare variant (f13) match (implementation={vendor(score(14):unknown)})
     121  void f64 (void);
     122  #pragma omp declare variant (f13) match (implementation={vendor(score(15):gnu,llvm,intel,ibm)})
     123  void f65 (void);
     124  #pragma omp declare variant (f13) match (implementation={extension(score(16):my_cute_extension)})	/* { dg-warning "unknown property 'my_cute_extension' of 'extension' selector" } */
     125  void f66 (void);
     126  #pragma omp declare variant (f13) match (implementation={extension(score(17):some_other_ext,another_ext)})	/* { dg-warning "unknown property 'some_other_ext' of 'extension' selector" } */
     127  void f67 (void);												/* { dg-warning "unknown property 'another_ext' of 'extension' selector" "" { target *-*-* } .-1 } */
     128  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(score(18):seq_cst)})
     129  void f68 (void);
     130  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(score(19):relaxed)})
     131  void f69 (void);
     132  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(score(20):acq_rel)})
     133  void f70 (void);
     134  #pragma omp declare variant (f13) match (implementation={atomic_default_mem_order(score(21):acq_rel),vendor(score(22):gnu),unified_address,extension(score(22):foobar)})	/* { dg-warning "unknown property 'foobar' of 'extension' selector" } */
     135  void f71 (void);
     136  #pragma omp declare variant (f13) match (user={condition(0)})
     137  void f72 (void);
     138  #pragma omp declare variant (f13) match (user={condition(272-272*1)})
     139  void f73 (void);
     140  #pragma omp declare variant (f13) match (user={condition(score(25):1)})
     141  void f74 (void);
     142  #pragma omp declare variant (f13) match (device={kind(any,"any")})
     143  void f75 (void);
     144  #pragma omp declare variant (f13) match (device={kind("any","any")})
     145  void f76 (void);
     146  #pragma omp declare variant (f13) match (device={kind("any",any)})
     147  void f77 (void);
     148  #pragma omp declare variant (f13) match (implementation={vendor(nvidia)})
     149  void f78 (void);
     150  #pragma omp declare variant (f13) match (user={condition(score(0):0)})
     151  void f79 (void);