Introduce new OpenMP 5.0 depend object type.

The implementation should be done by compiler, user can only declare
objects of this type and use them in OpenMP directives.

Differential Revision: https://reviews.llvm.org/D61860

llvm-svn: 360774
diff --git a/openmp/runtime/src/include/50/omp.h.var b/openmp/runtime/src/include/50/omp.h.var
index 05dc266..11c3273 100644
--- a/openmp/runtime/src/include/50/omp.h.var
+++ b/openmp/runtime/src/include/50/omp.h.var
@@ -149,6 +149,7 @@
 
     /* OpenMP 5.0 */
     extern int   __KAI_KMPC_CONVENTION  omp_get_device_num (void);
+    typedef void * omp_depend_t;
 
     /* kmp API functions */
     extern int    __KAI_KMPC_CONVENTION  kmp_get_stacksize          (void);
diff --git a/openmp/runtime/src/include/50/omp_lib.f.var b/openmp/runtime/src/include/50/omp_lib.f.var
index 17d0a2a..8981f39 100644
--- a/openmp/runtime/src/include/50/omp_lib.f.var
+++ b/openmp/runtime/src/include/50/omp_lib.f.var
@@ -44,6 +44,7 @@
         end type omp_alloctrait
 
         integer, parameter :: omp_pause_resource_kind = omp_integer_kind
+        integer, parameter :: omp_depend_kind = int_ptr_kind()
 
       end module omp_lib_kinds
 
diff --git a/openmp/runtime/src/include/50/omp_lib.f90.var b/openmp/runtime/src/include/50/omp_lib.f90.var
index a971577..2776c66 100644
--- a/openmp/runtime/src/include/50/omp_lib.f90.var
+++ b/openmp/runtime/src/include/50/omp_lib.f90.var
@@ -41,6 +41,7 @@
         end type omp_alloctrait
 
         integer, parameter :: omp_pause_resource_kind = omp_integer_kind
+        integer, parameter :: omp_depend_kind = c_intptr_t
 
       end module omp_lib_kinds
 
diff --git a/openmp/runtime/src/include/50/omp_lib.h.var b/openmp/runtime/src/include/50/omp_lib.h.var
index cf86183..6bfd8ce 100644
--- a/openmp/runtime/src/include/50/omp_lib.h.var
+++ b/openmp/runtime/src/include/50/omp_lib.h.var
@@ -48,6 +48,8 @@
       parameter(omp_alloctrait_val_kind=int_ptr_kind())
       integer omp_pause_resource_kind
       parameter(omp_pause_resource_kind=omp_integer_kind)
+      integer omp_depend_kind
+      parameter(omp_depend_kind=int_ptr_kind())
 
       integer(kind=omp_integer_kind)openmp_version
       parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)