Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r35:3dfc3004ad46
Date: 2014-09-15 18:31 +0200
http://bitbucket.org/cffi/creflect/changeset/3dfc3004ad46/

Log:    Pass the 004 tests

diff --git a/test/codegen/004.c b/test/codegen/004.c
--- a/test/codegen/004.c
+++ b/test/codegen/004.c
@@ -5,13 +5,13 @@
 int test004(char *r)
 {
     if (!r)
-        return 8 + 18 + 8 + 1;
+        return 8 + 18 + 10;
     {
         num_t *p1;
         char *p2;
         char b[sizeof(**p1)];  /* check that '*num_t' is a valid type */
         p1 = (void *)&p2;
-        *p1 = (void *)b;    /* check that 'num_t' is a pointer type, not array 
*/
+        *p1 = (void *)b;    /* check that 'num_t' is a pointer type */
         (void)(**p1 << 1);  /* check that '*num_t' is an integer type */
         r += sprintf(r, "typedef ");
         **p1 = -1;
@@ -29,7 +29,7 @@
             else if (sizeof(**p1) == sizeof(unsigned long long))
                 r += sprintf(r, "unsigned long long");
             else
-                r += sprintf(r, "uint%lu_t", (long)sizeof(**p1) * 8);
+                r += sprintf(r, "uint%u_t", (int)sizeof(**p1) * 8);
         }
         else {
             if (sizeof(**p1) == sizeof(int))
@@ -43,9 +43,9 @@
             else if (sizeof(**p1) == sizeof(long long))
                 r += sprintf(r, "long long");
             else
-                r += sprintf(r, "int%lu_t", (long)sizeof(**p1) * 8);
+                r += sprintf(r, "int%u_t", (int)sizeof(**p1) * 8);
         }
+        r += sprintf(r, " *num_t;\n");
     }
-    r += sprintf(r, " *num_t;\n");
     return 0;
 }
diff --git a/test/codegen/004b.c b/test/codegen/004b.c
--- a/test/codegen/004b.c
+++ b/test/codegen/004b.c
@@ -5,17 +5,17 @@
 int test004b(char *r)
 {
     if (!r)
-        return 8 + 18 + 8 + 1;
-    r += sprintf(r, "typedef ");
+        return 8 + 18 + 11;
     {
         num_t *p1;
         char *p2;
         char *p3;
-        char b[sizeof(**p1)];  /* check that '**num_t' is a valid type */
+        char b[sizeof(***p1)];  /* check that '**num_t' is a valid type */
         p1 = (void *)&p2;
         *p1 = (void *)&p3;  /* check that 'num_t' is a pointer type */
         **p1 = (void *)b;    /* check that '*num_t' is a pointer type */
         (void)(***p1 << 1);  /* check that '**num_t' is an integer type */
+        r += sprintf(r, "typedef ");
         ***p1 = -1;
         if (***p1 > 0) {
             if (sizeof(***p1) == 1 && ***p1 == 1)
@@ -31,7 +31,7 @@
             else if (sizeof(***p1) == sizeof(unsigned long long))
                 r += sprintf(r, "unsigned long long");
             else
-                r += sprintf(r, "uint%lu_t", (long)sizeof(***p1) * 8);
+                r += sprintf(r, "uint%u_t", (int)sizeof(***p1) * 8);
         }
         else {
             if (sizeof(***p1) == sizeof(int))
@@ -45,9 +45,9 @@
             else if (sizeof(***p1) == sizeof(long long))
                 r += sprintf(r, "long long");
             else
-                r += sprintf(r, "int%lu_t", (long)sizeof(***p1) * 8);
+                r += sprintf(r, "int%u_t", (int)sizeof(***p1) * 8);
         }
+        r += sprintf(r, " **num_t;\n");
     }
-    r += sprintf(r, " **num_t;\n");
     return 0;
 }
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to