1 /* { dg-do compile { target arm*-*-* avr-*-* mcore-*-* rx-*-* spu-*-* } } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
3 
4 static unsigned long __attribute__((naked))
foo(unsigned long base)5 foo (unsigned long base)
6 {
7   asm volatile ("dummy");
8 }
9 unsigned long
bar(void)10 bar (void)
11 {
12   static int start, set;
13 
14   if (!set)
15     {
16       set = 1;
17       start = foo (0);
18     }
19 
20   return foo (start);
21 }
22 
23 /* { dg-final { scan-tree-dump "foo \\\(long unsigned int base\\\)" "optimized" } } */
24 /* { dg-final { cleanup-tree-dump "optimized" } } */
25