OSDN Git Service

Commit for Jiangning.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / mips / call-1.c
1 /* { dg-options "-O2 -mrelax-pic-calls -mshared" } */
2 /* { dg-final { scan-assembler "\\.reloc\t1f,R_MIPS_JALR,normal\n1:\tjalr\t" } } */
3 /* { dg-final { scan-assembler "\\.reloc\t1f,R_MIPS_JALR,normal2\n1:\tjalr\t" } } */
4 /* { dg-final { scan-assembler "\\.reloc\t1f,R_MIPS_JALR,staticfunc\n1:\tjalr\t" } } */
5 /* { dg-final { scan-assembler "\\.reloc\t1f,R_MIPS_JALR,tail\n1:\tjr\t" } } */
6 /* { dg-final { scan-assembler "\\.reloc\t1f,R_MIPS_JALR,tail2\n1:\tjr\t" } } */
7
8 __attribute__ ((noinline)) static void staticfunc () { asm (""); }
9 int normal ();
10 void normal2 ();
11
12 NOMIPS16 f (int *p)
13 {
14   *p = normal ();
15   normal2 ();
16   staticfunc ();
17   return 1;
18 }
19
20 int tail ();
21
22 NOMIPS16 h ()
23 {
24   return tail ();
25 }
26
27 void tail2 ();
28
29 NOMIPS16 void g ()
30 {
31   tail2 ();
32 }