Mercurial > projects > ldc
comparison dmd2/attrib.h @ 1452:638d16625da2
LDC 2 compiles again.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Sat, 30 May 2009 17:23:32 +0100 |
parents | 2eaefe4a550b |
children | 54b3c1394d62 |
comparison
equal
deleted
inserted
replaced
1423:42bd767ec5a4 | 1452:638d16625da2 |
---|---|
48 void checkCtorConstInit(); | 48 void checkCtorConstInit(); |
49 void addLocalClass(ClassDeclarations *); | 49 void addLocalClass(ClassDeclarations *); |
50 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 50 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
51 AttribDeclaration *isAttribDeclaration() { return this; } | 51 AttribDeclaration *isAttribDeclaration() { return this; } |
52 | 52 |
53 virtual void toObjFile(int multiobj); // compile to .obj file | 53 #if IN_DMD |
54 void toObjFile(int multiobj); // compile to .obj file | |
54 int cvMember(unsigned char *p); | 55 int cvMember(unsigned char *p); |
56 #endif | |
57 | |
58 #if IN_LLVM | |
59 virtual void codegen(Ir*); | |
60 #endif | |
55 }; | 61 }; |
56 | 62 |
57 struct StorageClassDeclaration: AttribDeclaration | 63 struct StorageClassDeclaration: AttribDeclaration |
58 { | 64 { |
59 unsigned stc; | 65 unsigned stc; |
60 | 66 |
61 StorageClassDeclaration(unsigned stc, Array *decl); | 67 StorageClassDeclaration(unsigned stc, Array *decl); |
62 Dsymbol *syntaxCopy(Dsymbol *s); | 68 Dsymbol *syntaxCopy(Dsymbol *s); |
63 void semantic(Scope *sc); | 69 void semantic(Scope *sc); |
64 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 70 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
71 | |
72 static void stcToCBuffer(OutBuffer *buf, int stc); | |
65 }; | 73 }; |
66 | 74 |
67 struct LinkDeclaration : AttribDeclaration | 75 struct LinkDeclaration : AttribDeclaration |
68 { | 76 { |
69 enum LINK linkage; | 77 enum LINK linkage; |
105 AnonDeclaration(Loc loc, int isunion, Array *decl); | 113 AnonDeclaration(Loc loc, int isunion, Array *decl); |
106 Dsymbol *syntaxCopy(Dsymbol *s); | 114 Dsymbol *syntaxCopy(Dsymbol *s); |
107 void semantic(Scope *sc); | 115 void semantic(Scope *sc); |
108 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 116 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
109 const char *kind(); | 117 const char *kind(); |
110 | |
111 // LDC | |
112 void toObjFile(int multiobj); // compile to .obj file | |
113 }; | 118 }; |
114 | 119 |
115 struct PragmaDeclaration : AttribDeclaration | 120 struct PragmaDeclaration : AttribDeclaration |
116 { | 121 { |
117 Expressions *args; // array of Expression's | 122 Expressions *args; // array of Expression's |
120 Dsymbol *syntaxCopy(Dsymbol *s); | 125 Dsymbol *syntaxCopy(Dsymbol *s); |
121 void semantic(Scope *sc); | 126 void semantic(Scope *sc); |
122 int oneMember(Dsymbol **ps); | 127 int oneMember(Dsymbol **ps); |
123 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 128 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
124 const char *kind(); | 129 const char *kind(); |
130 | |
131 #if IN_DMD | |
125 void toObjFile(int multiobj); // compile to .obj file | 132 void toObjFile(int multiobj); // compile to .obj file |
133 #endif | |
134 | |
135 #if IN_LLVM | |
136 void codegen(Ir*); | |
137 #endif | |
126 }; | 138 }; |
127 | 139 |
128 struct ConditionalDeclaration : AttribDeclaration | 140 struct ConditionalDeclaration : AttribDeclaration |
129 { | 141 { |
130 Condition *condition; | 142 Condition *condition; |