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;