1 extern void abort (void);
2 
stab_xcoff_builtin_type(int typenum)3 int stab_xcoff_builtin_type (int typenum)
4 {
5   const char *name;
6   if (typenum >= 0 || typenum < -34)
7     {
8       return 0;
9     }
10   switch (-typenum)
11     {
12     case 1:
13       name = "int";
14       break;
15     case 2:
16       name = "char";
17     case 3:
18       name = "short";
19       break;
20     case 4:
21       name = "long";
22     case 5:
23       name = "unsigned char";
24     case 6:
25       name = "signed char";
26     case 7:
27       name = "unsigned short";
28     case 8:
29       name = "unsigned int";
30     case 9:
31       name = "unsigned";
32     case 10:
33       name = "unsigned long";
34     case 11:
35       name = "void";
36     case 12:
37       name = "float";
38     case 13:
39       name = "double";
40     case 14:
41       name = "long double";
42     case 15:
43       name = "integer";
44     case 16:
45       name = "boolean";
46     case 17:
47       name = "short real";
48     case 18:
49       name = "real";
50     case 19:
51       name = "stringptr";
52     case 20:
53       name = "character";
54     case 21:
55       name = "logical*1";
56     case 22:
57       name = "logical*2";
58     case 23:
59       name = "logical*4";
60     case 24:
61       name = "logical";
62     case 25:
63       name = "complex";
64     case 26:
65       name = "double complex";
66     case 27:
67       name = "integer*1";
68     case 28:
69       name = "integer*2";
70     case 29:
71       name = "integer*4";
72     case 30:
73       name = "wchar";
74     case 31:
75       name = "long long";
76     case 32:
77       name = "unsigned long long";
78     case 33:
79       name = "logical*8";
80     case 34:
81       name = "integer*8";
82     }
83   return name[0];
84 }
85 
main()86 int main()
87 {
88   int i;
89   if (stab_xcoff_builtin_type(0) != 0)
90     abort ();
91   if (stab_xcoff_builtin_type(-1) != 'i')
92     abort ();
93   if (stab_xcoff_builtin_type(-2) != 's')
94     abort ();
95   if (stab_xcoff_builtin_type(-3) != 's')
96     abort ();
97   for (i = -4; i >= -34; --i)
98     if (stab_xcoff_builtin_type(i) != 'i')
99       abort ();
100   if (stab_xcoff_builtin_type(-35) != 0)
101     abort ();
102   return 0;
103 }
104