Skip to content

Commit a7dc26e

Browse files
[denum.d] remove dependance on the glue layer (dlang#21530)
1 parent 40be26b commit a7dc26e

5 files changed

Lines changed: 9 additions & 9 deletions

File tree

compiler/src/dmd/denum.d

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import core.stdc.stdio;
1818

1919
import dmd.astenums;
2020
import dmd.attrib;
21-
import dmd.gluelayer;
2221
import dmd.declaration;
2322
import dmd.dsymbol;
2423
import dmd.expression;
@@ -62,7 +61,7 @@ extern (C++) final class EnumDeclaration : ScopeDsymbol
6261
import dmd.common.bitfields : generateBitFields;
6362
mixin(generateBitFields!(BitFields, ubyte));
6463

65-
Symbol* sinit;
64+
void* sinit;
6665

6766
extern (D) this(Loc loc, Identifier ident, Type memtype)
6867
{

compiler/src/dmd/enum.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class EnumDeclaration final : public ScopeDsymbol
5959
bool isSpecial() const;
6060

6161

62-
Symbol *sinit;
62+
void *sinit;
6363
void accept(Visitor *v) override { v->visit(this); }
6464
};
6565

compiler/src/dmd/frontend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7102,7 +7102,7 @@ class EnumDeclaration final : public ScopeDsymbol
71027102
private:
71037103
uint8_t bitFields;
71047104
public:
7105-
Symbol* sinit;
7105+
void* sinit;
71067106
EnumDeclaration* syntaxCopy(Dsymbol* s) override;
71077107
Type* getType() override;
71087108
const char* kind() const override;

compiler/src/dmd/tocsym.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,7 @@ Symbol* toInitializer(EnumDeclaration ed)
760760
s.Sisym = createImport(s, ed.loc);
761761
ed.sinit = s;
762762
}
763-
return ed.sinit;
763+
return cast(Symbol*)ed.sinit;
764764
}
765765

766766

compiler/src/dmd/toobj.d

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -723,12 +723,13 @@ void toObjFile(Dsymbol ds, bool multiobj)
723723

724724
// Generate static initializer
725725
toInitializer(ed);
726-
ed.sinit.Sclass = scclass;
727-
ed.sinit.Sfl = FL.data;
726+
auto sinit = cast(Symbol*) ed.sinit;
727+
sinit.Sclass = scclass;
728+
sinit.Sfl = FL.data;
728729
auto dtb = DtBuilder(0);
729730
Expression_toDt(tc.sym.defaultval, dtb);
730-
ed.sinit.Sdt = dtb.finish();
731-
outdata(ed.sinit);
731+
sinit.Sdt = dtb.finish();
732+
outdata(sinit);
732733
}
733734
ed.semanticRun = PASS.obj;
734735
}

0 commit comments

Comments
 (0)