jiang wrote:
         /* bitfield store handling */
+        SValue tmp;
+        tmp = vtop[0];
[...]
+        vtop--;
+        vpushv(&tmp);


This is still not a solution.  See

    #include <stdio.h>
    int main(int argc, char **argv)
    {
        struct {
            unsigned a:9, b:5, c:7;
        } _s, *s = &_s;
        int n = 250;

        s->a = s->b = s->c = n + 4;
        printf("--> %d / %d / %d\n", s->a, s->b, s->c);
        return 0;
    }
    --> 432 / 16 / 126

gcc & msvc:
    --> 30 / 30 / 126
tcc release_0_9_26
    --> 254 / 30 / 126

FWIW, the line above is the reason why I'm trying to investigate
this.  Let's see if Mr. jiang can come up with something useful
(and how long it will take).

-- gr

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to