fe.h (Serious_Errors_Detected): New macro.
[gcc.git] / gcc / testsuite / gnat.dg / atomic6_5.adb
1 -- { dg-do compile }
2 -- { dg-options "-fdump-tree-gimple" }
3
4 with Atomic6_Pkg; use Atomic6_Pkg;
5
6 procedure Atomic6_5 is
7 type Arr is array (Integer range 1 .. 4) of Boolean;
8 A : Arr;
9 B : Boolean;
10 begin
11
12 A (Integer(Counter1)) := True;
13 B := A (Timer1);
14
15 declare
16 pragma Suppress (Index_Check);
17 begin
18 A (Integer(Counter1)) := True;
19 B := A (Timer1);
20 end;
21
22 end;
23
24 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__counter1" 2 "gimple"} }
25 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__counter2" 0 "gimple"} }
26 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__timer1" 2 "gimple"} }
27 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&atomic6_pkg__timer2" 0 "gimple"} }
28 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&temp" 0 "gimple"} }
29 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*ptr" 0 "gimple"} }
30
31 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__counter1" 0 "gimple"} }
32 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__counter2" 0 "gimple"} }
33 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__timer1" 0 "gimple"} }
34 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&atomic6_pkg__timer2" 0 "gimple"} }
35 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&temp" 0 "gimple"} }
36 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*ptr" 0 "gimple"} }
37
38 -- { dg-final { cleanup-tree-dump "gimple" } }