forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			24 lines
		
	
	
		
			652 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			652 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %libomptarget-compilexx-run-and-check-aarch64-unknown-linux-gnu
 | 
						|
// RUN: %libomptarget-compilexx-run-and-check-powerpc64-ibm-linux-gnu
 | 
						|
// RUN: %libomptarget-compilexx-run-and-check-powerpc64le-ibm-linux-gnu
 | 
						|
// RUN: %libomptarget-compilexx-run-and-check-x86_64-pc-linux-gnu
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
#include <omp.h>
 | 
						|
 | 
						|
int main(void) {
 | 
						|
  int isHost = 0;
 | 
						|
 | 
						|
#pragma omp target map(from: isHost)
 | 
						|
  { isHost = omp_is_initial_device(); }
 | 
						|
 | 
						|
  if (isHost < 0) {
 | 
						|
    printf("Runtime error, isHost=%d\n", isHost);
 | 
						|
  }
 | 
						|
 | 
						|
  // CHECK: Target region executed on the device
 | 
						|
  printf("Target region executed on the %s\n", isHost ? "host" : "device");
 | 
						|
 | 
						|
  return isHost;
 | 
						|
}
 |