Mercurial > projects > ldc
comparison dmd2/attrib.h @ 1577:e4f7b5d9c68a
DMD 2.032 Merge.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 08 Sep 2009 10:07:56 +0100 |
parents | 54b3c1394d62 |
children |
comparison
equal
deleted
inserted
replaced
1576:4551475bc6b6 | 1577:e4f7b5d9c68a |
---|---|
34 Array *decl; // array of Dsymbol's | 34 Array *decl; // array of Dsymbol's |
35 | 35 |
36 AttribDeclaration(Array *decl); | 36 AttribDeclaration(Array *decl); |
37 virtual Array *include(Scope *sc, ScopeDsymbol *s); | 37 virtual Array *include(Scope *sc, ScopeDsymbol *s); |
38 int addMember(Scope *sc, ScopeDsymbol *s, int memnum); | 38 int addMember(Scope *sc, ScopeDsymbol *s, int memnum); |
39 void setScopeNewSc(Scope *sc, | |
40 unsigned newstc, enum LINK linkage, enum PROT protection, int explictProtection, | |
41 unsigned structalign); | |
39 void semanticNewSc(Scope *sc, | 42 void semanticNewSc(Scope *sc, |
40 unsigned newstc, enum LINK linkage, enum PROT protection, int explictProtection, | 43 unsigned newstc, enum LINK linkage, enum PROT protection, int explictProtection, |
41 unsigned structalign); | 44 unsigned structalign); |
42 void semantic(Scope *sc); | 45 void semantic(Scope *sc); |
43 void semantic2(Scope *sc); | 46 void semantic2(Scope *sc); |
67 { | 70 { |
68 unsigned stc; | 71 unsigned stc; |
69 | 72 |
70 StorageClassDeclaration(unsigned stc, Array *decl); | 73 StorageClassDeclaration(unsigned stc, Array *decl); |
71 Dsymbol *syntaxCopy(Dsymbol *s); | 74 Dsymbol *syntaxCopy(Dsymbol *s); |
75 void setScope(Scope *sc); | |
72 void semantic(Scope *sc); | 76 void semantic(Scope *sc); |
73 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 77 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
74 | 78 |
75 static void stcToCBuffer(OutBuffer *buf, int stc); | 79 static void stcToCBuffer(OutBuffer *buf, int stc); |
76 }; | 80 }; |
79 { | 83 { |
80 enum LINK linkage; | 84 enum LINK linkage; |
81 | 85 |
82 LinkDeclaration(enum LINK p, Array *decl); | 86 LinkDeclaration(enum LINK p, Array *decl); |
83 Dsymbol *syntaxCopy(Dsymbol *s); | 87 Dsymbol *syntaxCopy(Dsymbol *s); |
88 void setScope(Scope *sc); | |
84 void semantic(Scope *sc); | 89 void semantic(Scope *sc); |
85 void semantic3(Scope *sc); | 90 void semantic3(Scope *sc); |
86 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 91 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
87 char *toChars(); | 92 char *toChars(); |
88 }; | 93 }; |
91 { | 96 { |
92 enum PROT protection; | 97 enum PROT protection; |
93 | 98 |
94 ProtDeclaration(enum PROT p, Array *decl); | 99 ProtDeclaration(enum PROT p, Array *decl); |
95 Dsymbol *syntaxCopy(Dsymbol *s); | 100 Dsymbol *syntaxCopy(Dsymbol *s); |
101 void setScope(Scope *sc); | |
96 void semantic(Scope *sc); | 102 void semantic(Scope *sc); |
97 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 103 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
98 | 104 |
99 static void protectionToCBuffer(OutBuffer *buf, enum PROT protection); | 105 static void protectionToCBuffer(OutBuffer *buf, enum PROT protection); |
100 }; | 106 }; |
103 { | 109 { |
104 unsigned salign; | 110 unsigned salign; |
105 | 111 |
106 AlignDeclaration(Loc loc, unsigned sa, Array *decl); | 112 AlignDeclaration(Loc loc, unsigned sa, Array *decl); |
107 Dsymbol *syntaxCopy(Dsymbol *s); | 113 Dsymbol *syntaxCopy(Dsymbol *s); |
114 void setScope(Scope *sc); | |
108 void semantic(Scope *sc); | 115 void semantic(Scope *sc); |
109 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 116 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
110 }; | 117 }; |
111 | 118 |
112 struct AnonDeclaration : AttribDeclaration | 119 struct AnonDeclaration : AttribDeclaration |
126 Expressions *args; // array of Expression's | 133 Expressions *args; // array of Expression's |
127 | 134 |
128 PragmaDeclaration(Loc loc, Identifier *ident, Expressions *args, Array *decl); | 135 PragmaDeclaration(Loc loc, Identifier *ident, Expressions *args, Array *decl); |
129 Dsymbol *syntaxCopy(Dsymbol *s); | 136 Dsymbol *syntaxCopy(Dsymbol *s); |
130 void semantic(Scope *sc); | 137 void semantic(Scope *sc); |
138 void setScope(Scope *sc); | |
131 int oneMember(Dsymbol **ps); | 139 int oneMember(Dsymbol **ps); |
132 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 140 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
133 const char *kind(); | 141 const char *kind(); |
134 | 142 |
135 #if IN_DMD | 143 #if IN_DMD |