mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			39 lines
		
	
	
		
			474 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			474 B
		
	
	
	
		
			C
		
	
	
	
| // { dg-do run }
 | |
| // { dg-require-effective-target offload_device_shared_as }
 | |
| 
 | |
| #include <stdlib.h>
 | |
| 
 | |
| struct typeX
 | |
| {
 | |
|   int a;
 | |
| };
 | |
| 
 | |
| class typeY
 | |
| {
 | |
| public:
 | |
|   int foo () { return a^0x01; }
 | |
|   int a;
 | |
| };
 | |
| 
 | |
| #pragma omp declare target
 | |
| struct typeX varX;
 | |
| class typeY varY;
 | |
| #pragma omp end declare target
 | |
| 
 | |
| int main ()
 | |
| {
 | |
|   varX.a = 0;
 | |
|   varY.a = 0;
 | |
| 
 | |
|   #pragma omp target
 | |
|     {
 | |
|       varX.a = 100;
 | |
|       varY.a = 100;
 | |
|     }
 | |
| 
 | |
|   if (varX.a != 100 || varY.a != 100)
 | |
|     abort ();
 | |
| 
 | |
|   return 0;
 | |
| }
 |