1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
3 
inline_read(volatile int * mem)4 static inline int inline_read(volatile int *mem)
5 {
6         return *mem;
7 }
8 __attribute__ ((noinline))
foo_read(volatile int * mem)9 int foo_read(volatile int *mem)
10 {
11         return inline_read(mem);
12 }
foo(volatile int * mem)13 unsigned int foo(volatile int *mem)
14 {
15         foo_read(mem);
16         return foo_read(mem);
17 }
18 
19 /* { dg-final { scan-tree-dump-times "foo_read" 5 "optimized" } } */
20