blob: fef13585dbfc0cbcc360ea5b83b2f6e51de03f5e [file]
// { dg-do compile }
// { dg-additional-options "-fdump-tree-original" }
#include <omp.h>
void f()
{
omp_allocator_handle_t my, my2, my3, my4;
const omp_alloctrait_t t[] = {};
const omp_alloctrait_t t2[] = {};
#pragma omp target uses_allocators(traits(t), memspace(omp_high_bw_mem_space) : my; omp_default_mem_alloc, omp_null_allocator; my2; traits(t2) : my3; memspace(omp_large_cap_mem_space) : my4)
;
}
// { dg-final { scan-tree-dump "#pragma omp target uses_allocators\\(memspace\\(1\\), traits\\(\\) : my4\\) uses_allocators\\(memspace\\(\\), traits\\(t2\\) : my3\\) uses_allocators\\(memspace\\(\\), traits\\(\\) : my2\\) uses_allocators\\(memspace\\(3\\), traits\\(t\\) : my\\)" "original" { target c } } }
// { dg-final { scan-tree-dump "#pragma omp target uses_allocators\\(memspace\\(omp_large_cap_mem_space\\), traits\\(\\) : my4\\) uses_allocators\\(memspace\\(\\), traits\\(t2\\) : my3\\) uses_allocators\\(memspace\\(\\), traits\\(\\) : my2\\) uses_allocators\\(memspace\\(omp_high_bw_mem_space\\), traits\\(t\\) : my\\)" "original" { target c++ } } }