view gcc/testsuite/g++.dg/tree-ssa/volatile2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

// 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
}