mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			728 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			728 B
		
	
	
	
		
			C
		
	
	
	
| /* PR c/64824 */
 | |
| /* { dg-do run } */
 | |
| 
 | |
| void
 | |
| f1 (void)
 | |
| {
 | |
|   short a;
 | |
|   short b = 1;
 | |
|   int c = 3;
 | |
| #pragma omp atomic capture
 | |
|   a = b = c << b;
 | |
|   if (b != 6 || a != 6)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f2 (void)
 | |
| {
 | |
|   short a;
 | |
|   short b = 1;
 | |
|   int c = 3;
 | |
| #pragma omp atomic capture
 | |
|   a = b = c + b;
 | |
|   if (b != 4 || a != 4)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f3 (void)
 | |
| {
 | |
|   short a;
 | |
|   short b = 1;
 | |
|   long long int c = 3;
 | |
| #pragma omp atomic capture
 | |
|   a = b = c + b;
 | |
|   if (b != 4 || a != 4)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f4 (void)
 | |
| {
 | |
|   char a;
 | |
|   char b = 1;
 | |
|   long long int c = 3LL;
 | |
| #pragma omp atomic capture
 | |
|   a = b = c << b;
 | |
|   if (b != 6 || a != 6)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| int
 | |
| main ()
 | |
| {
 | |
|   f1 ();
 | |
|   f2 ();
 | |
|   f3 ();
 | |
|   f4 ();
 | |
|   return 0;
 | |
| }
 |