blob: bec604424776038de4454969dbfedf5406e0c9ba [file] [log] [blame]
// PR c++/84686
// { dg-additional-options -fdump-tree-gimple }
// { dg-final { scan-tree-dump-times "= i" 10 "gimple" } }
volatile int i;
int main()
{
i; //evaluated (a load is performed)
(i); //unevaluated => the load shall be performed
(void)i; //evaluated (a load is performed)
(void)(i); //unevaluated => the load shall be performed
(void)i; //evaluated (a load is performed)
(void)(i); //unevaluated => the load shall be performed
(i,i); // the two subexpression are evaluated
((i),(i)); // no evaluation, => two loads shall happen
}