1  /* { dg-do compile } */
       2  /* { dg-additional-options "-fdump-tree-gimple" } */
       3  
       4  #include <stddef.h>
       5  
       6  size_t
       7  vla (int array_li)
       8  {
       9    float array[array_li];
      10    size_t size1, size2;
      11  
      12  #pragma omp parallel default(none) shared(size1, array)
      13    size1 = sizeof array;
      14  
      15  #pragma omp target defaultmap(none) map(from:size2) map(alloc:array)
      16    size2 = sizeof array;
      17  
      18    return size1 + size2;
      19  }
      20  
      21  /* { dg-final { scan-tree-dump "omp parallel .*shared\\(array_li\.\[0-9\]\\)" "gimple" } } */
      22  /* C */
      23  /* { dg-final { scan-tree-dump "omp target .*private\\(array_li\.\[0-9\]\\)" "gimple" { target { ! c++ } } } } */
      24  /* C++ */
      25  /* { dg-final { scan-tree-dump "omp target .*firstprivate\\(array_li\.\[0-9\]\\)" "gimple" { target { c++ } } } } */