Index: /trunk/testcase/optlink/tst1.c
===================================================================
--- /trunk/testcase/optlink/tst1.c	(revision 633)
+++ /trunk/testcase/optlink/tst1.c	(revision 634)
@@ -17,23 +17,69 @@
 
 /** in asm */
-extern int _Optlink foo (int i1, int i2, int i3, float rf1, float rf2, float rf3, float rf4);
+extern int _Optlink asmfoo (int i1, int i2, int i3, float rf1, float rf2, float rf3, float rf4);
+
+extern int _Optlink foo (int i1, int i2, int i3, float rf1, float rf2, float rf3, float rf4)
+{
+    if (i1 != 1)
+        return 1;
+    if (i2 != 2)
+        return 2;
+    if (i3 != 3)
+        return 3;
+    if (rf1 != 1.1)
+        return 4;
+    if (rf2 != 1.2)
+        return 5;
+    if (rf3 != 1.3)
+        return 6;
+    if (rf4 != 1.4)
+        return 7;
+    return 0;
+}
 
 int main()
 {
-    int rc = foo(1, 2, 3, 1.1, 1.2, 1.3, 1.4);
+    int i;
+    int rc;
+    int rcRet = 0;
+
+    /* calling vac generated code */
+    rc = asmfoo(1, 2, 3, 1.1, 1.2, 1.3, 1.4);
     switch (rc)
     {
-        case 0: printf("tst1: success.\n"); break;
-        case 1: printf("tst1: i1 check failed.\n"); break;
-        case 2: printf("tst1: i2 check failed.\n"); break;
-        case 3: printf("tst1: i3 check failed.\n"); break;
-        case 4: printf("tst1: rf1 check failed.\n"); break;
-        case 5: printf("tst1: rf2 check failed.\n"); break;
-        case 6: printf("tst1: rf3 check failed.\n"); break;
-        case 7: printf("tst1: rf4 check failed.\n"); break;
+        case 0: printf("tst1: asmfoo: success.\n"); break;
+        case 1: printf("tst1: asmfoo: i1 check failed.\n"); break;
+        case 2: printf("tst1: asmfoo: i2 check failed.\n"); break;
+        case 3: printf("tst1: asmfoo: i3 check failed.\n"); break;
+        case 4: printf("tst1: asmfoo: rf1 check failed.\n"); break;
+        case 5: printf("tst1: asmfoo: rf2 check failed.\n"); break;
+        case 6: printf("tst1: asmfoo: rf3 check failed.\n"); break;
+        case 7: printf("tst1: asmfoo: rf4 check failed.\n"); break;
         default:
-            printf("tst1: failed test %d - internal error\n", rc);
+            printf("tst1: asmfoo: failed test %d - internal error\n", rc);
             break;
     }
+    if (rc && !rcRet)
+        rcRet = rc;
+
+    /* all gcc */
+    rc = foo(1, 2, 3, 1.1, 1.2, 1.3, 1.4);
+    switch (rc)
+    {
+        case 0: printf("tst1: foo: success.\n"); break;
+        case 1: printf("tst1: foo: i1 check failed.\n"); break;
+        case 2: printf("tst1: foo: i2 check failed.\n"); break;
+        case 3: printf("tst1: foo: i3 check failed.\n"); break;
+        case 4: printf("tst1: foo: rf1 check failed.\n"); break;
+        case 5: printf("tst1: foo: rf2 check failed.\n"); break;
+        case 6: printf("tst1: foo: rf3 check failed.\n"); break;
+        case 7: printf("tst1: foo: rf4 check failed.\n"); break;
+        default:
+            printf("tst1: foo: failed test %d - internal error\n", rc);
+            break;
+    }
+    if (rc && !rcRet)
+        rcRet = rc;
+
     return rc;
 }
Index: /trunk/testcase/optlink/tst1asm.asm
===================================================================
--- /trunk/testcase/optlink/tst1asm.asm	(revision 633)
+++ /trunk/testcase/optlink/tst1asm.asm	(revision 634)
@@ -32,6 +32,6 @@
 	align 010h
 
-	public foo
-foo	proc
+	public asmfoo
+asmfoo	proc
 
 ; 4     if (i1 != 1)
@@ -137,5 +137,5 @@
 	and	eax,07h
 	ret	
-foo	endp
+asmfoo	endp
 CODE32	ends
 
Index: /trunk/testcase/optlink/tst1asmc.c
===================================================================
--- /trunk/testcase/optlink/tst1asmc.c	(revision 633)
+++ /trunk/testcase/optlink/tst1asmc.c	(revision 634)
@@ -1,4 +1,17 @@
-/**  */
-extern int _Optlink foo (int i1, int i2, int i3, float rf1, float rf2, float rf3, float rf4)
+/* $Id$
+ *
+ * Optlink testcase no. 1.
+ * C source of the ASM file.
+ *
+ * InnoTek Systemberatung GmbH confidential
+ *
+ * Copyright (c) 2003 InnoTek Systemberatung GmbH
+ * Author: knut st. osmundsen <bird-srcspam@anduin.net>
+ *
+ * All Rights Reserved
+ *
+ */
+
+extern int _Optlink asmfoo (int i1, int i2, int i3, float rf1, float rf2, float rf3, float rf4)
 {
     if (i1 != 1)
