[OMPT] Return appropiate values for ompt runtime entry points for non-OpenMP threads

When the current thread is not an (initialized) OpenMP thread, the runtime
entry points return values that correspond to "not available" or similar

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

llvm-svn: 322620
diff --git a/openmp/runtime/src/ompt-specific.cpp b/openmp/runtime/src/ompt-specific.cpp
index 92665ad..5488c6e 100644
--- a/openmp/runtime/src/ompt-specific.cpp
+++ b/openmp/runtime/src/ompt-specific.cpp
@@ -219,16 +219,20 @@
 int __ompt_get_parallel_info_internal(int ancestor_level,
                                       ompt_data_t **parallel_data,
                                       int *team_size) {
-  ompt_team_info_t *info;
-  if (team_size) {
-    info = __ompt_get_teaminfo(ancestor_level, team_size);
+  if (__kmp_get_gtid() >= 0) {
+    ompt_team_info_t *info;
+    if (team_size) {
+      info = __ompt_get_teaminfo(ancestor_level, team_size);
+    } else {
+      info = __ompt_get_teaminfo(ancestor_level, NULL);
+    }
+    if (parallel_data) {
+      *parallel_data = info ? &(info->parallel_data) : NULL;
+    }
+    return info ? 2 : 0;
   } else {
-    info = __ompt_get_teaminfo(ancestor_level, NULL);
+    return 0;
   }
-  if (parallel_data) {
-    *parallel_data = info ? &(info->parallel_data) : NULL;
-  }
-  return info ? 2 : 0;
 }
 
 //----------------------------------------------------------
@@ -314,6 +318,9 @@
                                   ompt_frame_t **task_frame,
                                   ompt_data_t **parallel_data,
                                   int *thread_num) {
+  if (__kmp_get_gtid() < 0)
+    return 0;
+
   if (ancestor_level < 0)
     return 0;