diff test/tmp7.c @ 16:ca0bce3b4810

struct copy
author kono
date Mon, 17 Jan 2000 16:08:16 +0900
parents 6667dbd4f718
children 412ad2e6c2a2
line wrap: on
line diff
--- a/test/tmp7.c	Mon Jan 17 02:04:48 2000 +0900
+++ b/test/tmp7.c	Mon Jan 17 16:08:16 2000 +0900
@@ -6,12 +6,15 @@
 
 void tmp(void);
 
-int
-main0(int,char *[]);
+struct aa
+main0();
 
-main0(int ac,char *av[])
+struct aa
+main0()
 {
-    return ac;
+    struct aa ccc;
+    ccc.a[55]=123;
+    return ccc;
 }
 
 void
@@ -21,7 +24,7 @@
 	printf("main2 a1.a[55] %d\n",a1.a[55]);
 }
 
-struct aa 
+void
 main1(struct aa a1)
 {
     printf("main1 a1.a[0] %d\n",a1.a[0]);
@@ -30,7 +33,6 @@
 	main2(a1);
     else
 	main2(aaa);
-    return a1;
 } 
 
 
@@ -41,10 +43,12 @@
     register int i;
     register char *p;
     int j = 3;
-    struct { int b; void (*c)(/*struct aa*/); } q = {3,main1},r;
+    struct { int b; void (*c)(struct aa); } q = {3,main1},r;
 
     j = 3;
 
+    bbb = main0();
+    j = main0().a[55];
     printf("%d==3\n",q.b);
     r = q;
     printf("%d==3\n",r.b);