view test_cs.c @ 14:7d168c1829c9

modify makefile
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Fri, 17 Apr 2015 16:09:28 +0900
parents f442aa72b246
children 586096c45873
line wrap: on
line source

#include<stdio.h>
#include<stdlib.h>

void test_goto(void);

int main(int argc, char **argv){
  printf("main start\n");
  test_goto();
  return 0;
}

void test_goto(){
  goto cs1(10, 20, 30, 40);
}

__code cs1(int a, int b, int c, int d){
  printf("%4d, %4d, %4d, %4d\n", a, b, c, d);
  a += 40, b += 40, c += 40, d += 40;
  goto cs2((double)a, (double)b, c, (double)d);
}

__code cs2(double a, double b, int c, double d){
  printf("%4d, %4d, %4d, %4d\n", (int)a, (int)b, (int)c, (int)d);
  a += 40, b += 40, c += 40, d += 40;
  goto cs_exit((int)a, b, (char)c);
}

__code cs_exit(int a, double b, char c){
  printf("%4d, %4d, %4d\n", (int)a, (int)b, (int)c);
  printf("cs_exit was called!\n");
  exit(0);
}

void caller(int a, double b){
  cs2(b,20.0,a, 40.4);
  cs1(10,20,30, 40);
}