1*c85f09ccSJohn Levon struct s { 2*c85f09ccSJohn Levon volatile int a; 3*c85f09ccSJohn Levon }; 4*c85f09ccSJohn Levon 5*c85f09ccSJohn Levon struct s s; 6*c85f09ccSJohn Levon foo(void)7*c85f09ccSJohn Levonvoid foo(void) 8*c85f09ccSJohn Levon { 9*c85f09ccSJohn Levon s; 10*c85f09ccSJohn Levon s.a; 11*c85f09ccSJohn Levon } 12*c85f09ccSJohn Levon 13*c85f09ccSJohn Levon /* 14*c85f09ccSJohn Levon * check-name: load-semi-volatile 15*c85f09ccSJohn Levon * check-command: test-linearize -Wno-decl $file 16*c85f09ccSJohn Levon * 17*c85f09ccSJohn Levon * check-output-ignore 18*c85f09ccSJohn Levon * check-output-pattern(1): load 19*c85f09ccSJohn Levon * 20*c85f09ccSJohn Levon * check-description: 21*c85f09ccSJohn Levon * The load at line 9 must be removed. 22*c85f09ccSJohn Levon * The load at line 10 is volatile and thus 23*c85f09ccSJohn Levon * must not be removed. 24*c85f09ccSJohn Levon */ 25