3 void *malloc(unsigned);
6 int puts(const char *s);
21 struct SubStruct *SSP;
26 struct Quad GlobalQuad = { 4, {1, 2}, 0, 3, 156 };
28 typedef int (*FuncPtr)(int);
30 unsigned PtrFunc(int (*Func)(int), int X) {
34 char PtrFunc2(FuncPtr FuncTab[30], int Num) {
35 return FuncTab[Num]('b');
38 extern char SmallArgs2(char w, char x, long long Zrrk, char y, char z);
39 extern int SomeFunc(void);
40 char SmallArgs(char w, char x, char y, char z) {
42 return SmallArgs2(w-1, x+1, y, z, w);
45 static int F0(struct Quad Q, int i) { /* Pass Q by value */
50 return Q.SS.Y + i + R.y - Q.c;
53 int F1(struct Quad *Q, int i) { /* Pass Q by address */
60 Q->w = Q->y = Q->c = 1;
61 return Q->SS.Y+i+R.y-Q->c;
65 int BadFunc(float Val) {
67 if (Val > 12.345) Result = 4;
68 return Result; /* Test use of undefined value */
72 return SomeUndefinedFunction(1, 4, 5);
75 extern int EF1(int *, char *, int *);
77 int Func(int Param, long long Param2) {
85 { // c & X are duplicate names!
95 short FunFunc(long long x, char z) {
99 unsigned castTest(int X) { return X; }
101 double TestAdd(double X, float Y) {
105 int func(int i, int j) {
110 return (i * 3 + j*2)*j;
113 int SumArray(int Array[], int Num) {
115 for (i = 0; i < Num; ++i)
121 int ArrayParam(int Values[100]) {
122 return EF1((int*)Values[50], (char*)1, &Values[50]);
125 int ArrayToSum(void) {
127 for (i = 0; i < 100; ++i)
130 return A[A[0]]; //SumArray(A, 100);
134 int ExternFunc(long long, unsigned*, short, unsigned char);
136 int main(int argc, char *argv[]) {
138 puts("Hello world!\n");
140 ExternFunc(-1, 0, (short)argc, 2);
143 for (i = 0; i < 10; i++)
148 double MathFunc(double X, double Y, double Z,
149 double AA, double BB, double CC, double DD,
150 double EE, double FF, double GG, double HH,
151 double aAA, double aBB, double aCC, double aDD,
152 double aEE, double aFF) {
153 return X + Y + Z + AA + BB + CC + DD + EE + FF + GG + HH
154 + aAA + aBB + aCC + aDD + aEE + aFF;
159 void strcpy(char *s1, char *s2) {
160 while (*s1++ = *s2++);
163 void strcat(char *s1, char *s2) {
166 while (*s1++ = *s2++);
169 int strcmp(char *s1, char *s2) {
170 while (*s1++ == *s2++);
181 return (*(--s1) - *(--s2));