commit cdd649037ff739763ef976d4ca707ec021f24401
Author:     Roberto E. Vargas Caballero <k...@shike2.com>
AuthorDate: Tue Aug 4 17:26:29 2015 +0200
Commit:     Roberto E. Vargas Caballero <k...@shike2.com>
CommitDate: Tue Aug 4 17:26:51 2015 +0200

    Remove STRUCT emit() operators
    
    These operators must be removed because they must be emited
    in emittype(), like all the other types.

diff --git a/cc1/cc1.h b/cc1/cc1.h
index 206880d..7399403 100644
--- a/cc1/cc1.h
+++ b/cc1/cc1.h
@@ -260,12 +260,10 @@ enum {
        OLABEL,
        ODEFAULT,
        OCASE,
-       OSTRUCT,
        OJUMP,
        OBRANCH,
        OEXPR,
        OEFUN,
-       OESTRUCT,
        OELOOP,
        OBLOOP,
        OFUN,
diff --git a/cc1/code.c b/cc1/code.c
index 3d24fa8..f1994a4 100644
--- a/cc1/code.c
+++ b/cc1/code.c
@@ -56,11 +56,9 @@ char *optxt[] = {
        [OLABEL] = "L%d\n",
        [ODEFAULT] = "\tf\tL%d\n",
        [OCASE] = "\tw\tL%d",
-       [OSTRUCT] = "S%d\t(\n",
        [OJUMP] = "\tj\tL%d\n",
        [OBRANCH] = "\tj\tL%d",
        [OEFUN] = "}",
-       [OESTRUCT] = ")",
        [OELOOP] = "\tb",
        [OBLOOP] = "\td"
 };
@@ -111,11 +109,9 @@ void (*opcode[])(unsigned, void *) = {
        [OLABEL] = emitsymid,
        [ODEFAULT] = emitsymid,
        [OCASE] = emitsymid,
-       [OSTRUCT] = emitsymid,
        [OJUMP] = emitsymid,
        [OBRANCH] = emitsymid,
        [OEFUN] = emittext,
-       [OESTRUCT] = emittext,
        [OELOOP] = emittext,
        [OBLOOP] = emittext,
        [OFUN] = emitfun,
diff --git a/cc1/decl.c b/cc1/decl.c
index bc5057f..04d40b1 100644
--- a/cc1/decl.c
+++ b/cc1/decl.c
@@ -342,7 +342,6 @@ structdcl(void)
        if (tagtype->defined)
                error("redefinition of struct/union '%s'", yytext);
        tagtype->defined = 1;
-       emit(OSTRUCT, tagsym);
 
        while (!accept('}')) {
                Type *base, *tp;
@@ -378,7 +377,6 @@ structdcl(void)
                expect(';');
        }
 
-       emit(OESTRUCT, NULL);
        if ((n = bp - buff) != 0) {
                siz = sizeof(Type *) * n;
                tagtype->n.elem = n;

Reply via email to