예제 #1
0
int
caller1 (void)
{
  register int l1 = increment (0x7eeb);  /* caller1 */
  register int n;
  n = callee0 (l1);
  n = callee1 (n + l1);
  n = callee2 (n + l1);
  n = callee3 (n + l1);
  n = callee4 (n + l1);
  n = callee5 (n + l1);
  return n+l1;
}
예제 #2
0
int
caller2 (void)
{
  register int l1 = increment (0x7eeb);  /* caller2 */
  register int l2 = increment (l1);
  register int n;
  n = callee0 (l2);
  n = callee1 (n + l2);
  n = callee2 (n + l2);
  n = callee3 (n + l2);
  n = callee4 (n + l2);
  n = callee5 (n + l2);
  return n+l1+l2;
}
int
caller3 (void)
{
  register int l1 = increment (0x7eeb);  /* caller3 prologue */
  register int l2 = increment (l1);
  register int l3 = increment (l2);
  register int n;
  n = callee0 (l3);
  n = callee1 (n + l3);
  n = callee2 (n + l3);
  n = callee3 (n + l3);
  n = callee4 (n + l3);
  n = callee5 (n + l3);
  return n+l1+l2+l3;
}
예제 #4
0
int
caller4 (void)
{
  register int l1 = increment (0x7eeb);  /* caller4 */
  register int l2 = increment (l1);
  register int l3 = increment (l2);
  register int l4 = increment (l3);
  register int n;
  n = callee0 (l4);
  n = callee1 (n + l4);
  n = callee2 (n + l4);
  n = callee3 (n + l4);
  n = callee4 (n + l4);
  n = callee5 (n + l4);
  return n+l1+l2+l3+l4;
}
int
caller5 (void)
{
  register int l1 = increment (0x7eeb);  /* caller5 prologue */
  register int l2 = increment (l1);
  register int l3 = increment (l2);
  register int l4 = increment (l3);
  register int l5 = increment (l4);
  register int n;
  n = callee0 (l5);
  n = callee1 (n + l5);
  n = callee2 (n + l5);
  n = callee3 (n + l5);
  n = callee4 (n + l5);
  n = callee5 (n + l5);
  return n+l1+l2+l3+l4+l5;
}
예제 #6
0
callee1 (int intarg, char *strarg, double fltarg)
{
  callee2 (intarg, strarg);
}
 void test2(void) {
   S2 s21;
   callee2(s21);
   S2 s22;
   s22 = s21;
 }
예제 #8
0
__attribute__((interrupt("IRQ"))) void caller2() {
  callee1(); // expected-warning {{call to function without interrupt attribute could clobber interruptee's VFP registers}}
  callee2();
}
예제 #9
0
void caller1() {
  callee1();
  callee2();
}