OSDN Git Service

* gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / atomic6_6.adb
1 -- { dg-do compile }
2 -- { dg-options "-fdump-tree-gimple" }
3
4 with Atomic6_Pkg; use Atomic6_Pkg;
5
6 procedure Atomic6_6 is
7   Temp : Integer;
8 begin
9
10   Counter(1) := Counter(2);
11
12   Timer(1) := Timer(2);
13
14   Counter(1) := Int(Timer(1));
15   Timer(1) := Integer(Counter(1));
16
17   Temp := Integer(Counter(1));
18   Counter(1) := Int(Temp);
19
20   Temp := Timer(1);
21   Timer(1) := Temp;
22
23 end;
24
25 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__counter\\\[1" 2 "gimple"} }
26 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__counter\\\[2" 1 "gimple"} }
27 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__timer\\\[1" 2 "gimple"} }
28 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__timer\\\[2" 1 "gimple"} }
29 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&temp" 0 "gimple"} }
30 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*ptr" 0 "gimple"} }
31
32 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__counter\\\[1" 3 "gimple"} }
33 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__counter\\\[2" 0 "gimple"} }
34 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__timer\\\[1" 3 "gimple"} }
35 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__timer\\\[2" 0 "gimple"} }
36 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&temp" 0 "gimple"} }
37 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*ptr" 0 "gimple"} }
38
39 -- { dg-final { cleanup-tree-dump "gimple" } }