Mercurial > projects > ldc
comparison dmd/declaration.h @ 1602:a413ae7329bf
Merge DMD r243: some harmonization with D2 dmd
---
dmd/aggregate.h | 24 ++++-
dmd/attrib.c | 63 ++++++----
dmd/attrib.h | 10 +-
dmd/declaration.h | 5 +-
dmd/func.c | 337 ++++++++++++++++++++++-------------------------------
dmd/mars.c | 2 +-
dmd/mars.h | 7 +
dmd/mtype.h | 13 ++-
dmd/parse.c | 32 ++++-
dmd/parse.h | 14 ++-
dmd/scope.h | 2 +-
11 files changed, 263 insertions(+), 246 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:19 -0300 |
parents | def7a1d494fd |
children | 207a8a438dea |
comparison
equal
deleted
inserted
replaced
1601:49722e6e6e05 | 1602:a413ae7329bf |
---|---|
102 | 102 |
103 struct Declaration : Dsymbol | 103 struct Declaration : Dsymbol |
104 { | 104 { |
105 Type *type; | 105 Type *type; |
106 Type *originalType; // before semantic analysis | 106 Type *originalType; // before semantic analysis |
107 unsigned storage_class; | 107 StorageClass storage_class; |
108 enum PROT protection; | 108 enum PROT protection; |
109 enum LINK linkage; | 109 enum LINK linkage; |
110 int inuse; // used to detect cycles | 110 int inuse; // used to detect cycles |
111 | 111 |
112 Declaration(Identifier *id); | 112 Declaration(Identifier *id); |
258 Initializer *init; | 258 Initializer *init; |
259 unsigned offset; | 259 unsigned offset; |
260 int noscope; // no scope semantics | 260 int noscope; // no scope semantics |
261 #if DMDV2 | 261 #if DMDV2 |
262 FuncDeclarations nestedrefs; // referenced by these lexically nested functions | 262 FuncDeclarations nestedrefs; // referenced by these lexically nested functions |
263 bool isargptr; // if parameter that _argptr points to | |
263 #else | 264 #else |
264 int nestedref; // referenced by a lexically nested function | 265 int nestedref; // referenced by a lexically nested function |
265 #endif | 266 #endif |
266 int ctorinit; // it has been initialized in a ctor | 267 int ctorinit; // it has been initialized in a ctor |
267 int onstack; // 1: it has been allocated on the stack | 268 int onstack; // 1: it has been allocated on the stack |
710 // functions | 711 // functions |
711 #else | 712 #else |
712 int nestedFrameRef; // !=0 if nested variables referenced | 713 int nestedFrameRef; // !=0 if nested variables referenced |
713 #endif | 714 #endif |
714 | 715 |
715 FuncDeclaration(Loc loc, Loc endloc, Identifier *id, enum STC storage_class, Type *type); | 716 FuncDeclaration(Loc loc, Loc endloc, Identifier *id, StorageClass storage_class, Type *type); |
716 Dsymbol *syntaxCopy(Dsymbol *); | 717 Dsymbol *syntaxCopy(Dsymbol *); |
717 void semantic(Scope *sc); | 718 void semantic(Scope *sc); |
718 void semantic2(Scope *sc); | 719 void semantic2(Scope *sc); |
719 void semantic3(Scope *sc); | 720 void semantic3(Scope *sc); |
720 // called from semantic3 | 721 // called from semantic3 |