mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-29 12:50:35 +00:00
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;
|
|
}
|