123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* 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;
- }
|