/* { dg-do compile } */ /* { dg-additional-options "-fdump-tree-gimple" } */ #include size_t vla (int array_li) { float array[array_li]; size_t size1, size2; #pragma omp parallel default(none) shared(size1, array) size1 = sizeof array; #pragma omp target defaultmap(none) map(from:size2) map(alloc:array) size2 = sizeof array; return size1 + size2; } /* { dg-final { scan-tree-dump "omp parallel .*shared\\(array_li\.\[0-9\]\\)" "gimple" } } */ /* C */ /* { dg-final { scan-tree-dump "omp target .*private\\(array_li\.\[0-9\]\\)" "gimple" { target { ! c++ } } } } */ /* C++ */ /* { dg-final { scan-tree-dump "omp target .*firstprivate\\(array_li\.\[0-9\]\\)" "gimple" { target { c++ } } } } */