]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/dist: allow assembly code to use enumerated constants.
authorKeith Randall <khr@golang.org>
Fri, 12 Jul 2013 19:24:57 +0000 (12:24 -0700)
committerKeith Randall <khr@golang.org>
Fri, 12 Jul 2013 19:24:57 +0000 (12:24 -0700)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/11056044

src/cmd/dist/buildruntime.c

index 2d221eb39c41a591a4416b307634968d337ca245..a9c341c93ad36aaa06fc206a255075997c327c01 100644 (file)
@@ -234,10 +234,11 @@ ok:
        //              Gobuf 24 sched;
        //              'Y' 48 stack0;
        //      }
+       //      StackMin = 128;
        // into output like
        //      #define g_sched 24
        //      #define g_stack0 48
-       //
+       //      #define const_StackMin 128
        aggr = nil;
        splitlines(&lines, bstr(&in));
        for(i=0; i<lines.len; i++) {
@@ -265,6 +266,12 @@ ok:
                                p[xstrlen(p)-1] = '\0';
                        bwritestr(&out, bprintf(&b, "#define %s_%s %s\n", aggr, fields.p[n-1], fields.p[n-2]));
                }
+               if(fields.len == 3 && streq(fields.p[1], "=")) { // generated from enumerated constants
+                       p = fields.p[2];
+                       if(p[xstrlen(p)-1] == ';')
+                               p[xstrlen(p)-1] = '\0';
+                       bwritestr(&out, bprintf(&b, "#define const_%s %s\n", fields.p[0], p));
+               }
        }
 
        // Some #defines that are used for .c files.