1 /* Regression test for PR middle-end/23584 */
2 /* Verify that dereferencing a volatile element in a struct causes
3    the function not be pure.  */
4 
5 /* { dg-do compile } */
6 /* { dg-options "-O1 -fdump-ipa-pure-const" } */
7 
8 struct test_a { volatile int a; };
9 
func_a(struct test_a * a)10 int func_a(struct test_a *a)
11 {
12         return a->a;
13 }
14 
15 /* { dg-final { scan-ipa-dump-not "found to be pure: func_a" "pure-const" } } */
16