PR testsuite/86649
[official-gcc.git] / gcc / testsuite / g++.dg / tree-ssa / volatile2.C
blobbec604424776038de4454969dbfedf5406e0c9ba
1 // PR c++/84686
2 // { dg-additional-options -fdump-tree-gimple }
3 // { dg-final { scan-tree-dump-times "= i" 10 "gimple" } }
5 volatile int i;
7 int main()
9   i; //evaluated (a load is performed)
10   (i); //unevaluated => the load shall be performed
12   (void)i; //evaluated (a load is performed)
13   (void)(i); //unevaluated => the load shall be performed
15   (void)i; //evaluated (a load is performed)
16   (void)(i); //unevaluated => the load shall be performed
18   (i,i); // the two subexpression are evaluated
19   ((i),(i)); // no evaluation, => two loads shall happen