diff 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
line wrap: on
line diff
--- a/dmd/declaration.h	Mon Dec 28 02:23:54 2009 +0000
+++ b/dmd/declaration.h	Wed Jan 06 15:18:19 2010 -0300
@@ -104,7 +104,7 @@
 {
     Type *type;
     Type *originalType;		// before semantic analysis
-    unsigned storage_class;
+    StorageClass storage_class;
     enum PROT protection;
     enum LINK linkage;
     int inuse;			// used to detect cycles
@@ -260,6 +260,7 @@
     int noscope;		// no scope semantics
 #if DMDV2
     FuncDeclarations nestedrefs; // referenced by these lexically nested functions
+    bool isargptr;		// if parameter that _argptr points to
 #else
     int nestedref;		// referenced by a lexically nested function
 #endif
@@ -712,7 +713,7 @@
     int nestedFrameRef;			// !=0 if nested variables referenced
 #endif
 
-    FuncDeclaration(Loc loc, Loc endloc, Identifier *id, enum STC storage_class, Type *type);
+    FuncDeclaration(Loc loc, Loc endloc, Identifier *id, StorageClass storage_class, Type *type);
     Dsymbol *syntaxCopy(Dsymbol *);
     void semantic(Scope *sc);
     void semantic2(Scope *sc);